Final Project

NOTE:

Remember, the project is to be submitted by the date and time. Late submissions will lose 10%

 

NOTE: 

Code must be FULLY COMMENTED.

Include a COMPLETE TEST with your project.

You must appear on the time specified (see my announcement) to present your project. Failure to do so will earn a zero on the final.

_______________________________________________________________

Create a graphing calculator.

The calculator will take an expression made up of numbers, instances of a single variable, Trig functions, in addition to functions taking more than one argument such as Max(a, b)

The calculator will draw a graph of the function for a given interval and given increments:

queue<Point> PlotExpression (string expression, double low, double high, double increments);

This function takes an expression as a string, the high and low values for the function variable and the increments and produces a queue of points that represent the graph.

 Make sure you handle:

Hints:

Shunting Yard Algorithm:

Handing Variables: 

variables are just like numbers. So, When you see a variable, push into output queue.

 

Handling Functions: 

Functions are like operators with highest precedence:

5*(Max(x,4) + 6)  ->> 5 x 4 Max 6 + * 

 

Notes:

Follow all the design guidelines discussed in class for the Shunting Yard algorithm, Evaluation algorithm etc.

No Test = No Score: This project is meaningless without complete and accurate testing.