The user is timed on each question that's made up of basic arithmetic (+, -, *, /). The user chooses the number of questions, each made up of two random operands and a random operation.
- Each operand has equal possibility to be any number in the range of a difficulty-defined maximum (-/+)
- Operand 2 is never 0
- Operation is randomlly chosen from an array of chars
Difficulty algorithm: difficulty is checked every fifth question and will increase the operand size by some amount if the users' average total perfomance is less than 5 seconds a question. Maxes out at 100.
Program.cs - The main driver of the program, look here for formatting and driving code
Problem.cs - Problem class, creates everything about a generated question, also controls difficulty.
The motivation behind this program is to aid math education and will continue to grow in that direction. A big roadblock in a lot of complex math classes is the added time necessary to perform arithmetic on paper or with a calculator. Learning mental math tricks and practicing is a way to get past the block which will allow for a more enjoyable and engaged learning experience.