Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- Mental Mather - test your mental math skills!
- By M.andrew
- */
- // standard includes
- #include <cstdlib>
- #include <sys/time.h>
- #include <ctime>
- #include <stdio.h>
- // user-defined includes
- #include "problem.h"
- // limits for terms used
- #define TERMBOT 10
- #define TERMTOP 99
- void introSplash()
- {
- printf("Mental Mather ver. 0.01 by M.andrew\n"
- "NO CALCULATORS! That's cheating!\n"
- "\n");
- }
- int main(int argc, char** argv)
- {
- introSplash();
- int NumberOfProblems;
- do
- {
- printf("How many problems today? ");
- scanf("%d",&NumberOfProblems);
- } while (NumberOfProblems < 0);
- // seed the PRNG
- srand(time(0));
- int TermRange;
- do
- {
- TermRange = TERMTOP-TERMBOT;
- if (TermRange < 0)
- TermRange = -TermRange;
- } while (TermRange == 0);
- int *UserAnswerGrid = new int[NumberOfProblems];
- int *RealAnswerGrid = new int[NumberOfProblems];
- int Tally = 0;
- for (int i = 0; i < NumberOfProblems; i++)
- {
- int TermOne = rand() % TermRange + TERMBOT;
- int TermTwo = rand() % TermRange + TERMBOT;
- Problem thisProblem(TermOne,TermTwo);
- UserAnswerGrid[i] = thisProblem.AskTheProblem();
- RealAnswerGrid[i] = thisProblem.Calculate();
- int Difference = abs(UserAnswerGrid[i]-RealAnswerGrid[i]);
- if (Difference)
- {
- printf("Wrong! You were off by %d!\n",Difference);
- printf("The actual answer was %d.\n",RealAnswerGrid[i]);
- }
- else
- {
- Tally++;
- printf("Correct! You got that one spot on!\n");
- }
- }
- printf("You answered %d out of %d questions correctly, a success rate of %2.0f%%.\n",Tally,NumberOfProblems,static_cast<float>(Tally)/(NumberOfProblems)*100);
- delete [] UserAnswerGrid;
- delete [] RealAnswerGrid;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement