For this assignment you will need to design and construct a basic math program which targets elementary school children. Your program must adhere to the following steps and requirements:
1. A user interface with options similar to the following:
a. Learn about how to use the program
b. Enter your initials (3 individual characters...)
c. Difficulty selection
d. Start a new sequence of problems
e. Save and Quit
2. Generate mathematical problems based on the difficulty level selected. You must implement the following five levels of difficulty:
a. Level 1 - Easy: Includes addition and subtraction problems, with positive single digit operands and up to three terms only (i.e. d_{1} + d_{2} - d_{3} = )
b. Level 2 - Fair: Includes multiplication problems, with positive single digit operands and up to two terms only (i.e. d_{1} x d_{2} = )
c. Level 3 - Intermediate: Includes division problems, with positive single digit operands and up to two terms only (i.e. d_{1} / d_{2} = ); Note: results should be shown in the formNum R Remainder, i.e. if the problem is 5 / 3, then the answer should be provided as 1 R 2.
d. Level 4 - Hard: Includes a mix of addition, subtraction, multiplication, and division problems, with positive and negative single digit operands and up to three terms only (i.e. d1 + -d2 / d3 = ); Hint: you may have to first find a common denominator.
e. Level 5 - Impossible: Includes a mix of addition, subtraction, multiplication, and division problems, with positive and negative two and three digit operands
and up to four terms only (i.e. dd1 + -ddd2 x ddd3 / dd4 = ); Hint: you may have to first find a common denominator.
3. Allow the user to enter an answer corresponding to a generated math problem
4. Evaluate the answer provided by the user. The user gets a certain number of points for correct answers and loses points for incorrect answers. The number of points
should directly relate to the difficulty of the problem.
5. Each level must generate a sequence of ten problems
6. Within each level, problems should become a little more difficult as the user enters correct answers
7. Once the user quits the program, output the user's initials and total score to a file
Your program must implement error checking where appropriate. It also must use strings, pointers, and output parameters where appropriate.