C#编写计算器,可接受用户输入带有运算符的算式并给出结果
不考虑后期的维护,只是C#面向初学者学习,注重过程的代码,希望有大神能够提供更简洁的代码,共同进步学习,我为人人,人人为我!
using System;
class Program
{
public static void Main (string[] args) {
string strInput;
string num1 = "";
string num2 = "";
int op = 0;
float a, b, result;
Console.WriteLine("Enter a formula in the form [INT][OPERATOR[INT]:");
strInput = Console.ReadLine();
for (int i = 0; i<strInput.Length; i++)
{
if (strInput[i] == '+')
{
op = i;
}
else if(strInput[i] == '-')
{
op = i;
}
else if (strInput[i] == '*')
{
op = i;
}
else if (strInput[i] == '/')
{
op = i;
}
}
for (int j = 0; j < strInput.Length; j++)
{
if (j < op)
{
num1 += strInput[j];
}
else if (j > op)
{
num2 += strInput[j];
}
}
if (strInput[op] == '+')
{
a = Convert.ToSingle(num1);
b = Convert.ToSingle(num2);
result = a + b;
result = (float)Math.Round(result, 3);
Console.WriteLine($"{num1} + {num2} = {result}");
}
else if(strInput[op] == '-')
{
a = Convert.ToSingle(num1);
b = Convert.ToSingle(num2);
result = a - b;
result = (float)Math.Round(result, 3);
Console.WriteLine($"{num1} - {num2} = {result}");
}
else if(strInput[op] == '*')
{
a = Convert.ToSingle(num1);
b = Convert.ToSingle(num2);
result = a * b;
result = (float)Math.Round(result, 3);
Console.WriteLine($"{num1} * {num2} = {result}");
}
else if(strInput[op] == '/')
{
a = Convert.ToSingle(num1);
b = Convert.ToSingle(num2);
result = a / b;
result = (float)Math.Round(result, 3);
Console.WriteLine($"{num1} / {num2} = {result}");
}
}
}
我同时也把代码上传了,感兴趣的朋友可以下载。https://download.csdn.net/download/weixin_47045246/33167873