Beispiel #1
0
 /// <summary>
 /// To change the current expression depending on the pressed operation and the state of the buttons
 /// </summary>
 private string NewCurrentExpression(AdditionalOperations pressedOperation)
 {
     //If an additional operation is not used for the first time
     if (buttonsState.AdditionalOperationBtnPressed)
     {
         return(ChangeTheSetOfRecentAdditionalOperations(currentData.CurrentExpression, SetSelectedAdditionalOperation(pressedOperation)));
     }
     else
     {
         return(currentData.CurrentExpression + SetSelectedAdditionalOperation(pressedOperation) + '(' + NumberStandardization.Standardization(currentData.CurrentNumber) + ')');
     }
 }
Beispiel #2
0
        /// <summary>
        /// To set the symbolic representation of an additional operation
        /// </summary>
        /// <returns>
        /// A string representing the selected operation
        /// </returns>
        private string SetSelectedAdditionalOperation(AdditionalOperations pressedOperation)
        {
            switch (pressedOperation)
            {
            case AdditionalOperations.PartOfTheWhole: return("1/");

            case AdditionalOperations.Exponentiation: return("Sqr");

            case AdditionalOperations.RootExtraction: return("√");
            }

            return("Operation not found");
        }
Beispiel #3
0
        /// <summary>
        /// To add the selected operation applied to the current number in the current expression
        /// </summary>
        public void SetAdditionalOperation(AdditionalOperations pressedOperation)
        {
            if (buttonsState.EqualBtnPressed)
            {
                currentData.CurrentExpression = clearData.ClearExpression(currentData.CurrentExpression);
                buttonsState.NumberPadBtnPressed_Change(true);
                buttonsState.AdditionalOperationBtnPressed_Change(false);
                buttonsState.EqualBtnPressed_Change(false);
            }

            currentData.CurrentExpression = NewCurrentExpression(pressedOperation);
            currentData.CurrentNumber     = clearData.ClearNumber(currentData.CurrentNumber);

            buttonsState.NumberPadBtnPressed_Change(true);
            buttonsState.AdditionalOperationBtnPressed_Change(true);
        }