Esempio n. 1
0
        public string SendKeyPress(char key)
        {
            // Add your implementation here.

            switch (key)
            {
            case var localVariable when Character.IsDigitOrDot(localVariable):     // update operand at the time of input only
                Display = UpdateOperands(localVariable);

                break;

            case var localVariable when Character.IsOperator(localVariable):    // do arithimatic operations
                Display = DoOperation(localVariable);

                break;

            case 's':
            case 'S':
                Display = Toggle();
                break;

            case 'c':
            case 'C':
                Display = Reset();
                break;

            default:
                break;
            }
            //Console.WriteLine(Display);

            return(Display);
        }
Esempio n. 2
0
        public string SendKeyPress(char key)
        {
            switch (key)
            {
            case var c when Character.IsDigitOrDot(c):
                UpdatedDisplay = Operands.UpdateOperands(c);

                break;

            case var c when Character.IsSymbol(c):
                UpdatedDisplay = DoOperation(c);

                break;

            case var c when Character.IsToggle(c):
                UpdatedDisplay = Operands.ChangeSign();

                break;

            case var c when Character.IsSetZero(c):
                UpdatedDisplay = SetZero();

                break;

            default:        //ignoring other characters and return previous displayed string
                break;
            }


            if (Character.IsInfinity(UpdatedDisplay))
            {
                Operands.Reset();
                UpdatedDisplay = "0";
                return(ERROR);
            }

            return(UpdatedDisplay);
        }