コード例 #1
0
 public MainWindow()
 {
     InitializeComponent();
     calc = new Calculator();
     calc.didUpdateValue   += CalculatorDidUpdateValue;
     calc.InputError       += CalculatorError;
     calc.ComputationError += CalculatorError;
     calc.Clear();
 }
コード例 #2
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var    button = sender as Button;
            int    digit  = -1;
            object tag    = (sender as Button).Tag;


            if (int.TryParse(button.Content.ToString(), out digit))
            {
                calc.AddDigit(digit);
            }
            else
            {
                switch (tag)
                {
                case "decimal":
                    calc.AddDecimalPoint();
                    break;

                case "evaluate":
                    calc.Compute();
                    break;

                case "addition":
                    calc.AddOperation(Operation.Add);
                    break;

                case "substraction":
                    calc.AddOperation(Operation.Sub);
                    break;

                case "multiplication":
                    calc.AddOperation(Operation.Mul);
                    break;

                case "division":
                    calc.AddOperation(Operation.Div);
                    break;

                case "degree":
                    calc.AddOperation(Operation.Pow);
                    break;

                case "reverse":
                    calc.AddOperation(Operation.Drob);
                    break;

                case "radical":
                    calc.AddOperation(Operation.Sqrt);
                    break;

                case "Cos":
                    calc.AddOperation(Operation.Cos);
                    break;

                case "Sin":
                    calc.AddOperation(Operation.Sin);
                    break;

                case "clear":
                    calc.Clear();
                    break;

                case "reset":
                    calc.Reset();
                    break;

                case "earse":
                    calc.Earse();
                    break;
                }
            }
        }
コード例 #3
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var button = sender as Button;
            int digit  = -1;

            if (int.TryParse(button.Content.ToString(), out digit))
            {
                calc.AddDigit(digit);
            }
            else
            {
                switch (button.Tag)
                {
                case "plus":
                    calc.AddOperation(CalculatorOperation.Add);
                    break;

                case "minus":
                    calc.AddOperation(CalculatorOperation.Sub);
                    break;

                case "multiplication":
                    calc.AddOperation(CalculatorOperation.Mul);
                    break;

                case "division":
                    calc.AddOperation(CalculatorOperation.Div);
                    break;

                case "negate":
                    calc.TransformInput(CalculatorTransformation.Negate);
                    break;

                case "percent":
                    calc.TransformInput(CalculatorTransformation.Percent);
                    break;

                case "sqr":
                    calc.TransformInput(CalculatorTransformation.Sqr);
                    break;

                case "sqrt":
                    calc.TransformInput(CalculatorTransformation.Sqrt);
                    break;

                case "inverse":
                    calc.TransformInput(CalculatorTransformation.Inverse);
                    break;

                case "point":
                    calc.AddPoint();
                    break;

                case "compute":
                    calc.Compute();
                    break;

                case "delete":
                    calc.Delete();
                    break;

                case "clear":
                    calc.Clear();
                    break;

                default:
                    MessageBox.Show(button.Tag?.ToString() ?? "");
                    break;
                }
            }
        }
コード例 #4
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            int    digit = -1;
            Button b     = sender as Button;

            if (int.TryParse(b.Content.ToString(), out digit))
            {
                calc.AddDigit(digit);
            }
            else
            {
                switch (b.Tag)
                {
                case "div":
                    calc.AddOperation(CalculatorOperation.Div);
                    break;

                case "mul":
                    calc.AddOperation(CalculatorOperation.Mul);
                    break;

                case "min":
                    calc.AddOperation(CalculatorOperation.Sub);
                    break;

                case "pls":
                    calc.AddOperation(CalculatorOperation.Add);
                    break;

                case "clear":
                    calc.Clear();
                    break;

                case "clearall":
                    calc.clearAll();
                    break;

                case "compute":
                    calc.Compute();
                    break;

                case "dot":
                    calc.AddPoint();
                    break;

                case "negate":
                    calc.TransformInput(CalculatorTransformation.Negate);
                    break;

                case "percent":
                    calc.TransformInput(CalculatorTransformation.Percent);
                    break;

                case "sqr":
                    calc.TransformInput(CalculatorTransformation.Sqr);
                    break;

                case "sqrt":
                    calc.TransformInput(CalculatorTransformation.Sqrt);
                    break;

                case "inverse":
                    calc.TransformInput(CalculatorTransformation.Inverse);
                    break;

                case "del":
                    calc.RemoveDigit();
                    break;
                }
            }
        }
コード例 #5
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string text = (sender as Button).Content.ToString();
            string name = (sender as Button).Name;
            int    digit;

            if (int.TryParse(text, out digit))
            {
                calc.AddDigit(digit);
            }
            else
            {
                switch (name)
                {
                case "dec":
                    calc.AddDecimalPoint();
                    break;

                case "evaluate":
                    calc.Compute();
                    break;

                case "addition":
                    calc.AddOperation(Operation.Add);
                    break;

                case "substraction":
                    calc.AddOperation(Operation.Sub);
                    break;

                case "multiplication":
                    calc.AddOperation(Operation.Mul);
                    break;

                case "division":
                    calc.AddOperation(Operation.Div);
                    break;

                case "clear":
                    calc.Clear();
                    break;

                case "reset":
                    calc.Reset();
                    break;

                case "back":
                    calc.ClearSimbol();
                    break;

                case "pow":
                    calc.AddOperation(Operation.Pow);
                    break;

                case "sqrt":
                    calc.AddOperation(Operation.Sqrt);
                    break;

                case "log":
                    calc.AddOperation(Operation.Log);
                    break;

                case "tan":
                    calc.AddOperation(Operation.Tan);
                    break;

                case "Cos":
                    calc.AddOperation(Operation.Cos);
                    break;

                case "Sin":
                    calc.AddOperation(Operation.Sin);
                    break;

                case "inter":
                    calc.AddOperation(Operation.Interest);
                    break;

                case "sign":
                    calc.Sign();
                    break;

                case "exit":
                    this.Close();
                    break;
                }
            }
        }
コード例 #6
0
        private void button_Click(object sender, RoutedEventArgs e)
        {
            Button button = sender as Button;
            int    digit  = -1;

            if (int.TryParse(button.Content.ToString(), out digit))
            {
                calc.AddDigit(digit);
            }
            else
            {
                switch (button.Tag)
                {
                case "Add":
                    calc.ProcessBinOp(CalculatorOperations.Add);
                    break;

                case "Sub":
                    calc.ProcessBinOp(CalculatorOperations.Sub);
                    break;

                case "Mul":
                    calc.ProcessBinOp(CalculatorOperations.Mul);
                    break;

                case "Div":
                    calc.ProcessBinOp(CalculatorOperations.Div);
                    break;

                case "Eq":
                    calc.ProcessBinOp(CalculatorOperations.Eq);
                    break;

                case "Invert":
                    calc.ProcessUnOp(CalculatorUnOperations.Invert);
                    break;

                case "Point":
                    calc.AddPoint();
                    break;

                case "Reciprocal":
                    calc.ProcessUnOp(CalculatorUnOperations.Reciprocal);
                    break;

                case "CE":
                    calc.Clear();
                    break;

                case "C":
                    calc.ClearAll();
                    break;

                case "Percent":
                    calc.ProcessBinOp(CalculatorOperations.Percent);
                    break;

                case "Sqr":
                    calc.ProcessUnOp(CalculatorUnOperations.Sqr);
                    break;

                case "Sqrt":
                    calc.ProcessUnOp(CalculatorUnOperations.Sqrt);
                    break;

                case "Backspace":
                    calc.ProcessUnOp(CalculatorUnOperations.Backspace);
                    break;
                }
            }
        }