模拟电子计算机的功能,编写一个类,实现两个整数的加减乘除,用c#编写

1、math类中添加成员变量和成员方法,2、main方法实例化math类,3、根据客户输入的数字和选择,4、执行相应方法输出结果... 1、math类中添加成员变量和成员方法,
2、main方法实例化math类,
3、根据客户输入的数字和选择,
4、执行相应方法输出结果
展开
 我来答
倾城丶设计
2017-03-11 · TA获得超过169个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:62.6万
展开全部

加减乘除不需要用类,用了反而增加工作量。

我觉得你要的可能不是计算器,不过原理是相通的。

难点在数字"0"的输入判定和"="的判定算式是否成立。


首先,需要这些变量

        bool t = true;                  //判断是否输入运算符
        bool i = true;                  //判断是否需要清空文本框
        string a = null, b = null;      //运算符的前后字符串
        int f = 0;                      //判断运算符,1=+,2=-,3=×,4=÷

界面随你做,我这是这样的。

这是0的代码

        //0
        private void button0_Click(object sender, EventArgs e)
        {
            string txt = textBox1.Text;

            //判断0的输入是否有效
            if (t == true & a != null)
            {
                a = a + 0;
                textBox1.Text = txt + "0";
            }
            else if (t == false & b != null)
            {
                b = b + 0;
                textBox1.Text = txt + "0";
            }
            else if (t == true & a == null)
            {
                MessageBox.Show("请先输入有效数字");
            }
            else if (i == false)
            {
                MessageBox.Show("请先输入有效数字");
            }
            else if (t == false & b == null)
            {
                MessageBox.Show("请先输入有效数字");
            }
        }

这是=的代码

        //=
        private void button1_make_Click(object sender, EventArgs e)
        {
            double A2 = Convert.ToDouble(a);     //局部变量节省代码量
            double B2 = Convert.ToDouble(b);     //改了好多次,A1B1改没了
            string txt = textBox1.Text;

            if (f == 0 & t == true & i == true)
            {
                MessageBox.Show("请输入完整");
            }
            else if (a != null & b == null & i == true)
            {
                MessageBox.Show("请输入完整");
            }
            else if (a == null & i == true)
            {
                MessageBox.Show("请输入完整");
            }
            else if (i == false)
            {
                MessageBox.Show("请按数字键");
            }
            else if (f == 1 & b != null)
            {
                textBox1.Text = txt + "=" + Convert.ToString(A2 + B2);
                i = false;
                t = true;
                f = 0;
                a = null;
                b = null;
            }
            else if (f == 2 & b != null)
            {
                textBox1.Text = txt + "=" + Convert.ToString(A2 - B2);
                i = false;
                t = true;
                f = 0;
                a = null;
                b = null;
            }
            else if (f == 3 & b != null)
            {
                textBox1.Text = txt + "=" + Convert.ToString(A2 * B2);
                i = false;
                t = true;
                f = 0;
                a = null;
                b = null;
            }
            else if (f == 4 & b != null)
            {
                textBox1.Text = txt + "=" + Convert.ToString(A2 / B2);
                i = false;
                t = true;
                f = 0;
                a = null;
                b = null;
            }
        }


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式