标题:自己写了个 加,减,乘,除,的小程序,!大家帮我看看有什么地方需要改进的 ...
取消只看楼主
仲子陵
Rank: 2
等 级:论坛游民
帖 子:37
专家分:10
注 册:2011-6-1
结帖率:90%
已结贴  问题点数:20 回复次数:1 
自己写了个 加,减,乘,除,的小程序,!大家帮我看看有什么地方需要改进的?

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)语句,程序可以具有更好的可扩展性,,,所以我就试着写了这个小程序
可是总觉得委托用不用好像都一样,感觉有点多余。大家帮看看还有什么可以改进的,给点意见吧!!!谢谢
搜索更多相关主题的帖子: public double class 
2011-09-24 21:08
仲子陵
Rank: 2
等 级:论坛游民
帖 子:37
专家分:10
注 册:2011-6-1
得分:0 
面向对象还有待学习,,谢谢你们的意见
2011-09-26 23:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-350777-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.333709 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved