自己写了个 加,减,乘,除,的小程序,!大家帮我看看有什么地方需要改进的?
namespace 练习
{
class Program
{
public double num1 { get; set; } //运算数字1
public double num2 { get; set; } //运算数字2
public double num3 { get; set; } //运算结果
public string fuHao { get; set; } //运算符号
//定义委托 下面的委托方法,我觉要不要都无所谓。
public delegate void YunSuanDelegate(string fuHao);
public void FuHao(string fuHao, YunSuanDelegate yunSuan)
{
yunSuan(fuHao);
}
//加法
public void JiaFa(string fuHao)
{
num3 = num1 + num2;
}
//减法
public void JianFa(string fuHao)
{
num3 = num1 - num2;
}
//乘法
public void chengFa(string fuHao)
{
num3 = num1 * num2;
}
//除法
public void chuFa(string fuHao)
{
do //当输入的除数为零的时候进入循环
{
if (num2 == 0)
{
Console.WriteLine("除数不能为零(0),请重新输入:");
num2 = double.Parse(Console.ReadLine());
}
} while (num2 == 0); //只要输入的除数为零(0)时就继续循环
num3 = num1 / num2;
}
static void Main(string[] args)
{
Program program = new Program();
try
{
Console.WriteLine("输入第一个运算的数:");
program.num1 = double.Parse(Console.ReadLine());
Console.WriteLine("请选择运算符号:+.- * /");
program.fuHao = Console.ReadLine();
Console.WriteLine("请输入第二个运算的数:");
program.num2 = double.Parse(Console.ReadLine());
switch (program.fuHao)
{
case "+":
program.JiaFa("+");
break;
case "-":
program.JianFa("-");
break;
case "*":
program.chengFa("*");
break;
case "/":
program.chuFa("/");
break;
default:
Console.WriteLine("你的输入的运算符号有误!!");
break;
}
Console.WriteLine("运算的结果是:" + program.num3);
Console.ReadLine();
}
catch (DataException dataException)
{
Console.WriteLine(dataException.ToString());
}
}
}
}
我自学的C#,刚学到委托这,书上说使用委托可以避免大量的使用if-else(switch)语句,程序可以具有更好的可扩展性,,,所以我就试着写了这个小程序
可是总觉得委托用不用好像都一样,感觉有点多余。大家帮看看还有什么可以改进的,给点意见吧!!!谢谢