fork download
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cstdlib>
  4. #include <ctime>
  5. #include <cmath>
  6. using namespace std;
  7.  
  8. void doOneSet(char, int probsPerSet, int);
  9. void getProbsPerSet(int& probsPerSet);
  10. void printHeader(char);
  11. void printReport(int &s1Correct, int &s2Correct, int &s3Correct, int probsPerSet);
  12. void getMaxNum(int& maxNum);
  13. void doOneProblem();
  14. void getNumbers(int num1, int num2);
  15.  
  16. int main()
  17. {
  18. int probsPerSet;
  19. int s1Correct, s2Correct, s3Correct;
  20.  
  21. srand(time(0));
  22. getProbsPerSet(probsPerSet);
  23. doOneSet('+', probsPerSet, s1Correct);
  24. doOneSet('-', probsPerSet, s2Correct);
  25. doOneSet('*', probsPerSet, s3Correct);
  26. printReport(s1Correct, s2Correct, s3Correct, probsPerSet);
  27.  
  28. system("pause");
  29. }
  30.  
  31. void printReport(int & s1Correct, int & s2Correct, int & s3Correct, int probsPerSet) {
  32. cout << "Set#1: You got " << s1Correct << " correct out of " << probsPerSet<< " for " << s1Correct/probsPerSet << endl;
  33. cout << "Set#2: You got " << s2Correct << " correct out of " << probsPerSet<< " for " << s2Correct/probsPerSet << endl;
  34. cout << "Set#3: You got " << s3Correct << " correct out of " << probsPerSet<< " for " << s3Correct/probsPerSet << endl;
  35. cout << "Overall you got " << s1Correct + s2Correct + s3Correct << " correct out of " << probsPerSet << " for " << (s1Correct + s2Correct + s3Correct) / probsPerSet << endl;
  36.  
  37. }
  38.  
  39. void getProbsPerSet(int& probsPerSet)
  40. {
  41. cout << "Enter problems per set: ";
  42. cin >> probsPerSet;
  43. cout << endl;
  44. }
  45.  
  46. void getMaxNum(int maxNum)
  47. {
  48. cout << "What is the maximum number for this set? ";
  49. cin >> maxNum;
  50. }
  51.  
  52.  
  53. void getNumbers(int num1, int num2)
  54. {
  55. int maxNum;
  56.  
  57. //char operand;
  58.  
  59. num1 = rand() % maxNum + 1;
  60. num2 = rand() % maxNum + 1;
  61. }
  62. void doOneSet(char symbol, int probsPerSet, int& sCorrect) {
  63. int answer;
  64. int count = 0;
  65. int maxNum;
  66. int s1Correct, s2Correct, s3Correct;
  67. int num1, num2;
  68.  
  69. printHeader(symbol);
  70. getMaxNum(int& maxNum);
  71.  
  72. while(count < probsPerSet){
  73. count ++;
  74. num1 = rand() % maxNum +1;
  75. num2 = rand() % maxNum +1;
  76. }
  77. switch(symbol)
  78. {
  79. case '+': cout << num1 << " " << symbol << " " << num2 << " = ";
  80. cin >> answer;
  81. if (answer == num1 + num2) {
  82. cout << "correct" << endl;
  83. s1Correct++;
  84. }
  85. if(answer != num1 + num2) {
  86. cout << "incorrect" << endl;
  87. }
  88. break;
  89.  
  90. case '-': cout << num1 << " " << symbol << " " << num2 << " = ";
  91. cin >> answer;
  92. if (answer == num1 - num2) {
  93. cout << "correct" << endl;
  94. s2Correct++;
  95. }
  96. if (answer != num1 - num2) {
  97. cout << "incorrect" << endl;
  98. }
  99. break;
  100.  
  101. case '*': cout << num1 << " " << symbol << " " << num2 << " = ";
  102. cin >> answer;
  103. if (answer == num1 * num2) {
  104. cout << "correct" << endl;
  105. s3Correct++;
  106. }
  107. if(answer != num1 * num2) {
  108. cout << "incorrect" << endl;
  109. }
  110. }
  111. }
  112.  
  113.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:28: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result
prog.cpp: In function ‘void doOneSet(char, int, int&)’:
prog.cpp:70: error: expected primary-expression before ‘int’
stdout
Standard output is empty