c#计算器Dome

 

 

完整的代码:

 #region 申明变量
        private bool multiplication = false;//乘法
        private bool division = false;//除法
        private bool addition = false;//加法
        private bool subtraction = false;//减法
        private bool equalTo = false;//等于号
        private bool WhetherEqualTo = false;//是否按下等于号
        private List<double> EnteredNumber = new List<double>();//输入的数字
        private List<int> Symbol = new List<int>();//输入的符号;
        #endregion

        #region
        public void Num(string parameter)
        {
            if (multiplication || division || addition || subtraction || equalTo)
            {
                if (equalTo)
                {
                    this.textBox1.Text = "";
                }
                textBox1.Clear();//清除
                multiplication = false;//乘法
                division = false;//除法
                addition = false;//加法
                subtraction = false;//减法
                equalTo = false;//等于号
            }
            if (parameter.Equals(".") && this.textBox1.Text.IndexOf(".")<0||!parameter.Equals("."))
            {
                this.label1.Text += parameter;
                this.textBox1.Text+= parameter;
                WhetherEqualTo = true;
            }
        }
        #endregion

        #region 按钮对应的的数字
        private void button16_Click(object sender, EventArgs e)
        {
            Num(".");
        }

        private void button15_Click(object sender, EventArgs e)
        {
            Num("0");
        }

        private void button9_Click(object sender, EventArgs e)
        {
            Num("1");
        }

        private void button6_Click(object sender, EventArgs e)
        {
            Num("2");
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Num("3");
        }

        private void button8_Click(object sender, EventArgs e)
        {
            Num("4");
        }

        private void button5_Click(object sender, EventArgs e)
        {
            Num("5");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Num("6");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Num("7");
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Num("8");
        }

        private void button7_Click(object sender, EventArgs e)
        {
            Num("9");
        }

        #endregion
        #region 符号
        /// <summary>
        /// 除法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button10_Click(object sender, EventArgs e)
        {
            if (!division)
            {
                division = true;
                EnteredNumber.Add(double.Parse(this.textBox1.Text));
                Symbol.Add(1);//给除法一个默认值为1
                this.label1.Text = "(" + this.label1.Text + ")" + "/";
                equalTo = false;  
            }
        }
        /// <summary>
        /// 乘法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button11_Click(object sender, EventArgs e)
        {
            if (!multiplication)
            {
                multiplication = true;
                EnteredNumber.Add(double.Parse(this.textBox1.Text));
                Symbol.Add(2);//给乘法一个默认值为2
                this.label1.Text = "(" + this.label1.Text + ")" + "*";
                equalTo = false;
            }
        }
        /// <summary>
        /// 减法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button12_Click(object sender, EventArgs e)
        {
            if (!subtraction)
            {
                subtraction = true;
                EnteredNumber.Add(double.Parse(this.textBox1.Text));
                Symbol.Add(3);//给减法一个默认值为3
                this.label1.Text += "-";
                equalTo = false;
            }
        }
        /// <summary>
        /// 加法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button17_Click(object sender, EventArgs e)
        {
            if (!addition)
            {
                addition = true;
                EnteredNumber.Add(double.Parse(this.textBox1.Text));
                Symbol.Add(4);//给加法一个默认值为4
                this.label1.Text +="+";
                equalTo = false;
            }
        }
        #endregion
        /// <summary>
        /// 清除
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button13_Click(object sender, EventArgs e)
        {
            multiplication = false;//乘法
            division = false;//除法
            addition = false;//加法
            subtraction = false;//减法
            equalTo = false;//等于号
            WhetherEqualTo = false;// 是否按下等于号
            textBox1.Clear();
            EnteredNumber.Clear();
            Symbol.Clear();
            this.label1.Text="";
           
        }
        /// <summary>
        /// 等于
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button14_Click(object sender, EventArgs e)
        {
            if (EnteredNumber.Count>0 || Symbol.Count>0 && WhetherEqualTo)
            {
                EnteredNumber.Add(double.Parse(textBox1.Text));
                double total = EnteredNumber[0];
                for (int i = 0; i < Symbol.Count; i++)
                {
                    int SymbolicDigit = Symbol[i];
                    switch (SymbolicDigit)
                    {
                        case 1:
                            total /= EnteredNumber[i + 1];
                            break;
                        case 2:
                            total *= EnteredNumber[i + 1];
                            break;
                        case 3:
                            total -= EnteredNumber[i + 1];
                            break;
                        case 4:
                            total += EnteredNumber[i + 1];
                            break;
                    }
                }
                label1.Text = total + "";
                textBox1.Text= total + "";
                equalTo = true;
                EnteredNumber.Clear();
                Symbol.Clear();
            }
        }

 

posted @ 2017-07-07 13:46  Eudora_荣  阅读(58)  评论(0)    收藏  举报