Document of c-modernization-kit (calc dotnet wrapper) 1.0.0
Loading...
Searching...
No Matches
Program.cs
Go to the documentation of this file.
1#pragma warning disable 1587
17#pragma warning restore 1587
18
19using System;
20using CalcLib;
21
22namespace CalcApp
23{
27 public class Program
28 {
51 public static int Main(string[] args)
52 {
53 // 引数の数をチェック
54 if (args.Length != 3)
55 {
56 Console.Error.WriteLine("Usage: CalcApp <arg1> <arg2> <arg3>");
57 return 1;
58 }
59
60 // オペレーターが1文字であることをチェック
61 if (string.IsNullOrEmpty(args[1]) || args[1].Length != 1)
62 {
63 Console.Error.WriteLine("Usage: CalcApp <arg1> <arg2> <arg3>");
64 return 1;
65 }
66
67 // 引数をパース
68 if (!int.TryParse(args[0], out int arg1))
69 {
70 Console.Error.WriteLine($"Error: Invalid number '{args[0]}'");
71 return 1;
72 }
73
74 if (!int.TryParse(args[2], out int arg3))
75 {
76 Console.Error.WriteLine($"Error: Invalid number '{args[2]}'");
77 return 1;
78 }
79
80 // オペレーターから演算種別を決定
81 CalcKind kind;
82 switch (args[1][0])
83 {
84 case '+':
85 kind = CalcKind.Add;
86 break;
87 case '-':
88 kind = CalcKind.Subtract;
89 break;
90 case 'x':
91 kind = CalcKind.Multiply;
92 break;
93 case '/':
94 kind = CalcKind.Divide;
95 break;
96 default:
97 Console.Error.WriteLine("Usage: CalcApp <num1> <+|-|x|/> <num2>");
98 return 1;
99 }
100
101 // 計算を実行
102 var result = CalcLibrary.Calculate(kind, arg1, arg3);
103
104 if (!result.IsSuccess)
105 {
106 Console.Error.WriteLine("Error: calcHandler failed");
107 return 1;
108 }
109
110 // 結果を出力
111 Console.WriteLine(result.Value);
112
113 return 0;
114 }
115 }
116}
calc コマンドのメインクラス。
Definition Program.cs:28
static int Main(string[] args)
プログラムのエントリーポイント。
Definition Program.cs:51
ネイティブ calc ライブラリを使用して基本的な整数演算を実行するための メソッドを提供します。
static CalcResult Calculate(CalcKind kind, int a, int b)
指定された演算種別に基づいて計算を実行します。
CalcKind
計算演算の種別を表します。
Definition CalcKind.cs:24