You will write a program that acts as a simple calculator, reading an infix algebraic expression with numbers and simple operations: +, -, *, / , (, and ).

The programming Language is C++.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Index/Document.iwa

Index/ViewState.iwa

Index/CalculationEngine.iwa

Index/DocumentStylesheet-3245.iwa

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Index/AnnotationAuthorStorage.iwa

Index/DocumentMetadata.iwa

Data/PresetImageFill5-15

Data/PresetImageFill2-12

Data/PresetImageFill4-14

Data/PresetImageFill0-10

Data/PresetImageFill1-11

Data/PresetImageFill3-13

Data/bullet_gbutton_gray-16

Index/Metadata.iwa

Metadata/Properties.plist

Metadata/DocumentIdentifier
3893289F-B984-41D0-9C3A-C71DD9F5A13D

Metadata/BuildVersionHistory.plist

doc
M6.2-4582-1

preview

preview-micro

preview-web

CS 3003 S/T Data Structures

Spring, 20201

Project #2

Calculator Simulation

Focus on: template stack, stack applications, and converting an infix to its equivalent postfix and evaluating the postfix expression.

TASK:

You will write a program that acts as a simple calculator, reading an infix algebraic expression with numbers and simple operations: +, -, *, / , (, and ). The program converts an infix expression into an equivalent postfix expression, and then evaluates the postfix expression, and then prints the result if input expression is correct otherwise prints error messages. Your program must interact with the user until the user quits.

REQUIREMENTS:

1. Your simulator must work with both single digit operands and multiple digit operands.

2. You may use your own stack template class or library .

3. You must write a readme file that explains how to compile and run your project.

4. You must develop a design document to how your project works.

5. Your program must produce a correct result if an input expression is correct, otherwise an error message should be given.

6. You must comment your program properly (including proper comments and program synopsis). You may suffer up to 20 % percent penalty if you failed to do so.

7. You must put your functions and variables together to form a class—calculator.

8. You may have at least three functions: start, convert_infix_to_postfix, check_match, and evaluate_postfix in your class.

9. You should turn in your project on time; otherwise you will suffer 10% deduction per day.

Your program output may look like:

Enter your infix:
(3+4)*7

The result is:
49

Would you do it again (y/n): y

Enter your infix:
(312 + 40 ) * 3

The result is:
1056

Enter your infix: 23+(34-5 *3

Group operator did not match, please input again.

Would you do it again (y/n): n

THANK YOU!

Your main function may look like:

OOP Approach:

int main()

{

Calculator mycal;

mycal.start();

}

Your class may look like:

class Calculator

{

private:

string infix, postfix;

char answer;

public:

Calculator( );

void start( );

bool check_match();

void convert_infix_postfix( );

void

evaluate_postfix( );

int precedence(char);

};

Your start function may look like:

void Calculator::start( )

{

do {

cout<<”\nEnter an infix expression: “;

getline(cin, infix); //read the expression from keyboard

if(check_match())

{

convert_infix_to_postfix( );

evaluate_postfix( );

}

else

continue; //go back to the top of the loop

cout<<”\nDo it again y/n : “

cin >>answer;

if( tolower(answer) == ‘y’)

continue; //go back to the top of the loop

else{

cout<< “THANK YOU !”<

break; //break out of the loop

}

}while(true);

}

DUE

:

March 23, Tuesday, 2021. Click the given link to turn in a copy of your source code, readme, your testing data and your program’s output, and your program design.

Calculate your order
Pages (275 words)
Standard price: $0.00
Client Reviews
4.9
Sitejabber
4.6
Trustpilot
4.8
Our Guarantees
100% Confidentiality
Information about customers is confidential and never disclosed to third parties.
Original Writing
We complete all papers from scratch. You can get a plagiarism report.
Timely Delivery
No missed deadlines – 97% of assignments are completed in time.
Money Back
If you're confident that a writer didn't follow your order details, ask for a refund.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00
Power up Your Academic Success with the
Team of Professionals. We’ve Got Your Back.
Power up Your Study Success with Experts We’ve Got Your Back.

Order your essay today and save 30% with the discount code ESSAYHELP