用C#实现简单的计算器
需积分: 0 52 浏览量
更新于2009-06-16
收藏 22KB RAR 举报
在编程领域,C#是一种广泛使用的面向对象的编程语言,由微软公司开发并应用于Windows平台。本项目将探讨如何利用C#实现一个基础的计算器程序,该计算器具备基本的四则运算功能,即加法、减法、乘法和除法。
我们需要创建一个新的C# Console Application项目。在Visual Studio或其他支持C#开发的IDE中,选择“新建项目” -> “控制台应用程序”,为项目命名并保存。
接下来,我们需要设计计算器的核心逻辑。在`Program.cs`文件中,定义一个名为`Calculator`的类,它包含四个静态方法,分别对应四种基本运算:
```csharp
public static class Calculator
{
public static double Add(double num1, double num2)
{
return num1 + num2;
}
public static double Subtract(double num1, double num2)
{
return num1 - num2;
}
public static double Multiply(double num1, double num2)
{
return num1 * num2;
}
public static double Divide(double num1, double num2)
{
if (num2 != 0)
return num1 / num2;
else
throw new DivideByZeroException("除数不能为零");
}
}
```
在这些方法中,我们接收两个双精度浮点数作为参数,并返回计算结果。对于除法操作,我们需要检查除数是否为零,避免出现运行时错误。
接下来,我们要实现用户交互部分。在`Main`方法中,我们可以使用`Console.ReadLine()`读取用户的输入,然后调用上述计算方法进行计算:
```csharp
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("请输入第一个数字:");
string inputNum1 = Console.ReadLine();
if (!double.TryParse(inputNum1, out double num1))
{
Console.WriteLine("输入无效,请输入数字。");
continue;
}
Console.WriteLine("请输入运算符(+, -, *, /):");
string operatorInput = Console.ReadLine();
Console.WriteLine("请输入第二个数字:");
string inputNum2 = Console.ReadLine();
if (!double.TryParse(inputNum2, out double num2))
{
Console.WriteLine("输入无效,请输入数字。");
continue;
}
switch (operatorInput)
{
case "+":
Console.WriteLine($"结果是: {Calculator.Add(num1, num2)}");
break;
case "-":
Console.WriteLine($"结果是: {Calculator.Subtract(num1, num2)}");
break;
case "*":
Console.WriteLine($"结果是: {Calculator.Multiply(num1, num2)}");
break;
case "/":
try
{
Console.WriteLine($"结果是: {Calculator.Divide(num1, num2)}");
}
catch (DivideByZeroException ex)
{
Console.WriteLine(ex.Message);
}
break;
default:
Console.WriteLine("不支持的运算符。");
break;
}
Console.WriteLine("按回车键继续,或输入'q'退出:");
string quitInput = Console.ReadLine();
if (quitInput.Trim().ToLower() == "q")
{
break;
}
}
}
```
这段代码会不断循环,直到用户输入'q'退出。在循环中,我们获取用户输入的数字和运算符,进行合法性检查,然后调用对应的计算方法,并显示结果。如果用户尝试除以零,程序将捕获`DivideByZeroException`并给出相应的错误提示。
这个简单的计算器程序展示了C#的基础语法,包括变量声明、数据类型转换、异常处理以及控制流。同时,它也体现了面向对象编程的思想,通过封装计算方法到`Calculator`类,使得代码结构更加清晰。这样的设计易于扩展,可以方便地添加更多复杂的运算功能。
在实际应用中,你可以将这个计算器程序进一步优化,比如增加输入验证,处理更复杂的数学表达式,或者创建一个图形用户界面。无论哪种方式,C#都提供了丰富的库和工具来帮助开发者实现目标。
lijing_liny
- 粉丝: 0
- 资源: 2
最新资源
- springboot项目山西大同大学学生公寓管理系统boot.zip
- springboot项目社区帮扶对象管理系统.zip
- springboot项目社区待就业人员信息管理系统的设计与实现.zip
- springboot项目社区网格化管理平台的构建.zip
- springboot项目社区防疫物资申报系统.zip
- abaqus桩基础 桥墩拟静力试验 包涵实体建模、钢筋建模、材料定义、装配模型、分析步、网格划分、相互作用、载荷、计算等超详细教程(带源文件)
- springboot项目社区医疗服务系统.zip
- springboot项目社区物资交易互助平台.zip
- springboot项目社区医疗服务可视化系统.zip
- springboot项目社区疫情返乡管控系统.zip
- springboot项目社区疫情管理系统.zip
- springboot项目实习生管理系统设计和实现.zip
- COCOS经典小游戏案例,游戏引擎是COCOS,TS开发,包含2048,俄罗斯方块,飞行的小鸟,黄金矿工 4个经典的小游戏,代码工整,逻辑清晰,无论是想学习cocos还是想尝试开发小游戏都非常有帮助
- springboot项目水产养殖系统.zip
- springboot项目数字化农家乐管理平台的设计与实现.zip
- 1.Matlab实现SSA-CNN-BiLSTM麻雀算法优化卷积双向长短期记忆神经网络时间序列预测; 2.输入数据为单变量时间序列数据,即一维数据; 3.运行环境Matlab2020b及以上,data