예제 #1
0
        public void redoEquationString(ViewModel.expressions expressionSent, bool _Unary)
        {
            IsUnary       = _Unary;
            ExpressionSet = true;
            switch (_Unary)
            {
            case true:
                if (OperandOneString != "" && OperandOneString != null && ExpressionSet == true)
                {
                    CurrentExpression = expressionSent;
                    if (CurrentExpression == ViewModel.expressions.Sqrt)
                    {
                        EquationString = convertExpression(CurrentExpression) + OperandOneString;
                    }
                    else if (CurrentExpression == ViewModel.expressions.Sin)
                    {
                        EquationString = "Sin(" + OperandOneString + ")";
                    }
                    else if (CurrentExpression == ViewModel.expressions.Cos)
                    {
                        EquationString = "Cos(" + OperandOneString + ")";
                    }
                    else if (CurrentExpression == ViewModel.expressions.Tan)
                    {
                        EquationString = "Tan(" + OperandOneString + ")";
                    }
                    else
                    {
                        EquationString = OperandOneString + convertExpression(CurrentExpression);
                    }
                }
                break;

            case false:
                if (operandTwoString == "" || operandTwoString == null)
                {
                    if (OperandOneString != "" && OperandOneString != null && ExpressionSet == true)
                    {
                        CurrentExpression = expressionSent;
                        EquationString    = OperandOneString + convertExpression(CurrentExpression);
                    }
                }
                if (OperandOneString != "" && OperandOneString != null && ExpressionSet == true && operandTwoString != "" && operandTwoString != null)
                {
                    CurrentExpression = expressionSent;
                    EquationString    = OperandOneString + convertExpression(CurrentExpression) + operandTwoString;
                }
                break;

            default:
                break;
            }
        }
예제 #2
0
        public string convertExpression(ViewModel.expressions expressionsent)
        {
            string expressionString = "";

            switch (expressionsent)
            {
            case expressions.Addition:
                expressionString = "+";
                break;

            case expressions.Subtraction:
                expressionString = "-";

                break;

            case expressions.Multiplication:
                expressionString = "*";

                break;

            case expressions.Division:
                expressionString = "/";

                break;

            case expressions.Sin:
                expressionString = "Sin()";

                break;

            case expressions.Cos:
                expressionString = "Cos()";

                break;

            case expressions.Tan:
                expressionString = "Tan()";

                break;

            case expressions.Square:
                expressionString = "^2";

                break;

            case expressions.Sqrt:
                expressionString = "√";

                break;

            case expressions.Percent:
                expressionString = "%";

                break;

            case expressions.none:

                break;

            default:
                break;
            }
            return(expressionString);
        }