CISC 181 Project 1
Elementry School Math Program
Due: March 17, at Class


Computers are being used more and more in an educational setting. In this project, you will write a computer program that will help tutor elementry school students in basic math skills. The program will allow the student to choose a variety of problem types and adjust the difficulty of the presented problems depending on how well the student is doing (The GRE and the GMAT do something very similar!)

1. The Opening Messages

The program will present the user with "tests" consisting of a set of 10 problems at a time. When the program is just entered, an introductory message should be printed along with the kind of problem the user wants to study. The user should have the option of choosing

1 for addition problems only
2 for subtraction problems only
3 for multiplication problems only
4 for division problems only
5 for a mix of problems

Once the problem type has been selected, the user should be asked for a desired difficulty level from 1 for beginners, to 10 for advanced users.

2. Presenting the Problems

The program should then ask the student 10 questions of the same type and difficulty level. The difficulty level specifies the range of numbers that are in the problems. Difficulty level of 1 will give numbers from 1-10, 2 from 1-20, etc, through 10, which is 1-100. You should use the rand() function to generate a random number between the users range. For menu choice 5, you should also use rand to find the type of problem, as well.

The system should then read the answer given by the student. If the answer is correct, a message should be printed and the program should go on to the next problem. If the answer is incorrect, the system should print a different kind of message, and the user should be another try. If the answer is incorrect again, the user should be given a third and final try.

You want the students to remain as interested as possible, so the messages should be varied. Fill an array of strings, and use a random number generator to index into that array and choose the message. Here are the responses you should include in the program:

Responses to incorrect answers:

At the end of each 10 question test, you should tell each student their score, both for that test and overall score.
Each score should consist of the number of correct answers divided by the number of attempts. For example:

You scored 8 of 14 on this test, or 57% for this test. Overall, you are 19 for 38, or 50%.

3. Keeping track of difficulty levels

Because students are not always good judges of their capability, the system should monitor their progress and adjust the problems according to the students ability. The system should track the students progress. After each 10 After the student finishes a 10 question test, their score for that test, and overall score should be shown.


Hints:


Grading:


What to hand in:


Other Important Information: