Question
Create a class called 'Calculator' for infix expression calculation using the two-stack method as shown in class. This calculator should address the following: Use the
Create a class called 'Calculator' for infix expression calculation using the two-stack method as shown in class. This calculator should address the following:
Use the stack template for each of your stacks. Use the queue template for any queue like functions that you may need.
Perform the calculation by first changing the infix expression into post-fix expression. Output to the console the post-fix expression that was generated as well as the result of the expression.
Then verify your result by repeating the process with converting to a pre-fix expression. Again, output the pre-fix expression to the console.
Your main should allow the user to enter a mathematical expression of their choice.
Assume the operands in the input expression will be any-size integer operands but successive operands/operators are separated spaces. Perform adequate expression verification to ensure that it is a well-formed expression before you perform the calculation. If it is mal-formed, inform the user accordingly.
You should allow all binary arithmetic operators (+, -, *, /, %) and the parentheses.
Unary operators (negation) in the input expression can be treated as illegal. Negative values calculated during the expression evaluation should be Ok.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started