You will implement a calculator using stacks and queues. Your calculator must support the following operators:

* Addition

* Subtraction

* Multiplication

* Division

* Modulo

* Parenthesis

The input will be given in the form of infix expressions, e.g. ( 2 + 3 ) * 5. Implement parenthesis checking to ensure that the input is a valid expression. If the expression is not valid, output an error message. Convert the checked infix expression it into a postfix expression ( e.g. 2 3 + 5 * ). Use a stack for the infix to postfix conversion. Store the resulting postfix expression in a queue and print it onto the screen. Then, using a second stack, evaluate the postfix expression and print the result. Include a README file describing how to run your program and give an example.

* Addition

* Subtraction

* Multiplication

* Division

* Modulo

* Parenthesis

The input will be given in the form of infix expressions, e.g. ( 2 + 3 ) * 5. Implement parenthesis checking to ensure that the input is a valid expression. If the expression is not valid, output an error message. Convert the checked infix expression it into a postfix expression ( e.g. 2 3 + 5 * ). Use a stack for the infix to postfix conversion. Store the resulting postfix expression in a queue and print it onto the screen. Then, using a second stack, evaluate the postfix expression and print the result. Include a README file describing how to run your program and give an example.

## This question was asked on May 12, 2010.

### Recently Asked Questions

- Case Study 1 Calculations: Calculate the client's target heart rate using the Karvonen formula. Training Program: Design a full 12-week periodized training

- I am taking ENGL 143 through embry riddle, I am to write a dialogue with no more than three characters. Does that mean it as to be written in "play" form with

- B. Multiple linear regression, as if for a journal article Use the Children's Health Study dataset (subjdata_321.sas7bdat). (3: P) Create categorical weight