MathTutor 5000 | |
Assigned: Weds Jan 22, 2003 | Pseudo-code due: Mon Jan 27, 2003 |
Program #3 is worth 50 points |
Program due: Weds Jan 29, 2003 |
This program emphasizes the following "new"-ish concepts:
The MathTutor 5000 is a math tutoring program. The
menu-driven program randomly generates addition, subtraction and
multiplication problems for the user to solve. This program is
based on the "Math Tutor" examples in our text found on:
At the beginning of the session, first query the user once for:
After that, the MathTutor 5000 menu is displayed and the user is prompted for a choice. Here is an example of this menu:
The MathTutor 5000 menu is flexible. The user can select a choice number, or the first letter of any choice. The "Addition", "Subtraction" and "Multiplication" menu choices show the user a math problem of that type. The "Pick-em" menu choice randomly selects the type of problem (+, -, or *). Once a problem type is selected, MathTutor 5000 randomly generates the two operands for the problem, displays an equation and queries the user for his/her answer. Here's an example of this step (user input is in bold):
Or, if the problem is answered incorrectly:
After the problem is completed, display the menu again, prompting the user for his/her next action. If the user makes an invalid selection (like "z" or "9") , then you should issue an error message and then display the menu again. If the user elects to quit, then end the session with a statistical recap including: the number of problems attempted, the number of problems correctly answered, and a grade. The grade should be based on the standard 90/80/70... scale. Here's an example:
Implementation NotesPlease include the following in your implementation:
|
Your program will be graded on three areas: design, quality, and function.
Your design must include detailed pseudo-code (in English, not C++) describing how your program will function. You can use the text and Programs #1 and #2 as your guide.
Your program must include:
Your program must:
Make sure you run your program with multiple test cases, including cases with invalid input.
To hand your program in, please place two things in the "prog03" folder on your k: drive:
Any additions to the assignment will be listed below...