public static Operation CreateOperation(string type)
        {
            Operation oper = null;

            switch (type)
            {
            case "+":
                oper = new Add();
                break;

            case "-":
                oper = new Sub();
                break;

            case "*":
                oper = new Mul();
                break;

            case "/":
                oper = new Div();
                break;

            default:
                throw new Exception("运算符号错误");
            }
            return(oper);
        }
        private void btnNigual_Click(object sender, EventArgs e)
        {
            segundo = double.Parse(txtScreen.Text);

            double Sum;
            double Res;
            double Div;
            double Mul;

            switch (operador)
            {
            case "+":
                Sum            = obj.Sumar((primero), (segundo));
                txtScreen.Text = Sum.ToString();
                break;

            case "-":
                Res            = obj2.Restar((primero), (segundo));
                txtScreen.Text = Res.ToString();
                break;

            case "*":
                Mul            = obj3.Multiplicar((primero), (segundo));
                txtScreen.Text = Mul.ToString();
                break;

            case "/":
                Div            = obj4.Dividir((primero), (segundo));
                txtScreen.Text = Div.ToString();
                break;
            }
        }
        public Operation createOperate(string operate)
        {
            Operation oper = null;

            switch (operate)
            {
            case "+":
                oper = new Add();
                break;

            case "-":
                oper = new Sub();
                break;

            case "*":
                oper = new Mul();
                break;

            case "/":
                oper = new Div();
                break;

            default:
                break;
            }
            return(oper);
        }
Exemple #4
0
        public static double Sub(string s)
        {
            int index = 0;
            var v     = Mul.Div(s, ref index);

            while (index < s.Length)
            {
                if (s[index] == '+')
                {
                    index++;
                    v += Mul.Div(s, ref index);
                }
                else if (s[index] == '-')
                {
                    index++;
                    v -= Mul.Div(s, ref index);
                }
                else
                {
                    Console.WriteLine("Error!");
                }
            }

            return(v);
        }
Exemple #5
0
        private void BtnIgual_Click(object sender, EventArgs e)
        {
            try
            {
                segundo = double.Parse(TxtEntry.Text);
            }
            catch (FormatException)
            {
            }


            double Sum;
            double Res;
            double Mul;
            double Div;

            switch (operador)
            {
            case "+":
                Sum           = suma.Sumar(primero, segundo);
                TxtEntry.Text = Sum.ToString();
                break;

            case "-":
                Res           = resta.Restar(primero, segundo);
                TxtEntry.Text = Res.ToString();
                break;

            case "*":
                Mul           = mult.Multiplicar(primero, segundo);
                TxtEntry.Text = Mul.ToString();
                break;

            case "/":
                Div           = div.Dividir(primero, segundo);
                TxtEntry.Text = Div.ToString();
                break;

            default:
                break;
            }
        }