$35
CS-303 Assignment 3
(25 points)
Q1) (15 points) Using Stack, develop an Expression Manager that can do the following operations:
Infix to Postfix Conversion
• Read an infix expression from the user.
• Perform the Balanced Parentheses Check on the expression read.
• {, }, (, ), [, ] are the only symbols considered for the check. All other characters can be ignored.
• If the expression fails the Balanced Parentheses Check, report a message to the user that the
expression is invalid.
• If the expression passes the Balanced Parentheses Check, convert the infix expression into a
postfix expression and display it to the user.
• Operators to be considered are +, –, *, /, %.
Q2) (10 points) Implement a queue in C++ that can perform the following functions:
• Inserts a new element at the rear of the queue.
• Removes the front element of the queue and returns it.
• Returns the front element present in the queue without removing it.
• Checks if the queue is empty
• Returns the total number of elements present in the queue
Submission guidelines:
1) You should have a header file and .cpp file. The header file should provide the function
declaration and .cpp file should have implementation details.
2) All the functionality of the program should be implemented as functions and methods.
3) The code should be well commented
4) Create a report (readme file) that contains instruction on how to run the code and screen shots
of the outputs
5) Upload your report and code files to GitHub.
6) Submit the GitHub link on Canvas by due date.