📅  最后修改于: 2023-12-03 14:39:47.977000             🧑  作者: Mango
C# 计算器是一种基于 C# 编写的计算器,它可以执行常见的数学运算,如加、减、乘、除等,并且可以实现科学计算和统计学计算等复杂运算。
C# 计算器采用面向对象的编程方式实现,主要涉及的类包括:
以下为 C# 计算器的主要代码片段:
// Calculator.cs
public class Calculator
{
public decimal Result { get; private set; }
public void Add(decimal value)
{
Result += value;
}
public void Subtract(decimal value)
{
Result -= value;
}
public void Multiply(decimal value)
{
Result *= value;
}
public void Divide(decimal value)
{
if (value == 0)
{
throw new ArgumentException("除数不能为 0!");
}
Result /= value;
}
}
// Display.cs
public class Display
{
public void ShowInput(string input)
{
// 显示用户输入的数字或指令
}
public void ShowResult(decimal result)
{
// 显示计算结果
}
}
// Keyboard.cs
public class Keyboard
{
public event Action<decimal> NumberPressed;
public event Action<string> CommandPressed;
public void PressNumber(decimal number)
{
NumberPressed?.Invoke(number);
}
public void PressCommand(string command)
{
CommandPressed?.Invoke(command);
}
}
// History.cs
public class History
{
public void Add(string input)
{
// 将用户输入的字符串加入历史记录中
}
public void Remove(int index)
{
// 根据索引移除历史记录中的一项
}
public string[] GetHistory()
{
// 返回历史记录数组
}
}
以下为 C# 计算器的使用示例:
var calculator = new Calculator();
var display = new Display();
var keyboard = new Keyboard();
var history = new History();
keyboard.NumberPressed += calculator.Add;
keyboard.NumberPressed += display.ShowInput;
keyboard.NumberPressed += history.Add;
keyboard.CommandPressed += command =>
{
if (command == "+")
{
calculator.Add(calculator.Result);
}
else if (command == "-")
{
calculator.Subtract(calculator.Result);
}
else if (command == "*")
{
calculator.Multiply(calculator.Result);
}
else if (command == "/")
{
calculator.Divide(calculator.Result);
}
display.ShowResult(calculator.Result);
history.Add(command);
};
C# 计算器是一种功能强大且简单易用的计算器,它可以满足大部分用户的数学计算需求。它采用了面向对象的编程方式实现,使得代码易于维护和扩展。如果您需要一个可以执行常见数学运算和实现科学计算和统计学计算等复杂运算的计算器,那么 C# 计算器是一个不错的选择。