Example #1
0
        public void ModifyOperand(string commandString)
        {
            if (operationStage == OperationStage.DisplayResult)
            {
                MoveResultToFirstOperand();
            }

            switch (commandString)
            {
            case ".":
            {
                GetCurrentOperandObject().SetHasAPoint(true);
                break;
            }

            case "%":
            {
                GetCurrentOperandObject().DivideBy100();
                break;
            }

            case "+/-":
            {
                GetCurrentOperandObject().Invert();
                break;
            }

            case "C":
            {
                FirstOperand.Reset();
                SecondOperand.Reset();
                ResultOperand.Reset();
                operationStage = OperationStage.EnterFirstOperand;
                break;
            }
            }
        }