刚开始学习C#,在B站大学中学完了基础知识,开始自己写一个简易程序
该计算器能进行加减乘除运算,在输入数字不符合时就会让用户重新输入,输入运算符为除数时,若被除数为0的话就会进行错误提示,提示用户更改被除数
源代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace hello_C_
{
internal class jisuanji
{
static void Main(string[] args)
{
Console.WriteLine("这个是一个计算器\n可以运行加减乘除");
double num1 = GetUserInput("请输入第一个数字:");
string type;
do
{
Console.Write("请输入运算符 + - * / ");
type = Console.ReadLine();
} while (!IsValidOperation(type));
double num2;
do
{
num2 = GetUserInput("请输入第二个数字:");
if (type == "/" && num2 == 0)
{
Console.WriteLine("在除法运算中,除数不能为0。请重新输入。");
}
} while (type == "/" && num2 == 0);
double result = Calculate(num1, type, num2);
Console.WriteLine(num1 + type + num2+ "=" + result);
}
static double GetUserInput(string num)
{
double userInput;
do
{
Console.Write(num);
} while (!double.TryParse(Console.ReadLine(), out userInput));
return userInput;
}
static bool IsValidOperation(string operation)
{
return operation == "+" || operation == "-" || operation == "*" || operation == "/";
}
static double Calculate(double num1, string type, double num2)
{
double result = 0;
switch (type)
{
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if(num2 == 0)
{
Console.WriteLine("除数不能为0");
}
else
{
result = num1 / num2;
}
break;
default:
Console.WriteLine("无效运算符");
break;
}
return result;
}
}
}
在以上代码中还是有些许不足,只能简单运算,且数值类型为double也有局限性,再接着就是只能进行一次运算后就退出,在接下来会继续改进,实现窗口化功能化