/* An Arithmetic Quiz Program */ #include #include #include #include #include #include void initlize (); addtest (); subtest (); multitest (); divtest (); int number [10]; main () { clrscr (); char choice; initlize (); while (1 == 1) { printf ("\n\n\n\t\t\tARITHMATIC QUIZ"); printf ("\n\n\n\n\n"); printf ("\t\t\t1 - Addition test\n\n"); printf ("\t\t\t2 - Subtraction test\n\n"); printf ("\t\t\t3 - Multiplication test\n\n"); printf ("\t\t\t4 - Division test\n\n"); printf ("\t\t\t5 - Quit\n\n"); printf ("\n\n\n\n\n\t\t\tWHAT IS YOUR CHOICE ? : "); scanf ("\n%c", &choice); if (choice == '1') { addtest (); } else if (choice == '2') { subtest (); } else if (choice == '3') { multitest (); } else if (choice == '4') { divtest (); } else if (choice == '5') { break; } else { printf ("%c", 7); } } } void initlize () { //randomize (); //rand (number [10]); number [0] = 3; number [1] = 5; number [2] = 0; number [3] = 7; number [4] = 9; number [5] = 1; number [6] = 8; number [7] = 4; number [8] = 6; number [9] = 2; } addtest () { int counterA, counterB, difference, answer; char again; counterA = 0; difference = 1; counterB = counterA + difference; while (1 == 1) { printf ("\n\n\n\n\n\n\n"); printf ("\t\t\tADDITION QUIZ"); printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); printf ("\t%d + %d = ", number [counterA], number [counterB]); scanf ("%d", &answer); if (answer == number [counterA] + number [counterB]) { printf ("\nTHAT IS CORRECT!!"); } else { printf ("\nTHAT IS INCORRECT.\n"); printf ("\nThe answer is %d", number [counterA] + number [counterB]); } printf ("\n\nDo you want to try again ? Y/N : "); scanf ("\n%c", &again); if (again != 'Y' && again != 'y') { break; } else { counterA = counterA + 2; if (counterA > 9) { counterA = counterA - 10; difference = difference + 1; } if (difference > 9) { difference = 2; } counterB = counterA + difference; if (counterB > 9) { counterB = counterB - 10; } } } return (answer); } subtest () { int counterA, counterB, difference, answer; char again; counterA = 2; difference = 3; counterB = counterA + difference; while (1 == 1) { if (number [counterA] < number [counterB]) { again = 'Y'; } else { printf ("\n\n\n\n\n\n\n"); printf ("\t\t\tSUBTRACTION QUIZ"); printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); printf ("\t%d - %d = ", number [counterA], number [counterB]); scanf ("%d", &answer); if (answer == number [counterA] - number [counterB]) { printf ("\nTHAT IS CORRECT!!"); } else { printf ("\nTHAT IS INCORRECT.\n"); printf ("\nThe answer is %d", number [counterA] - number [counterB]); } printf ("\n\nDo you want to try again ? Y/N : "); scanf ("\n%c", &again); } if (again != 'Y' && again != 'y') { break; } else { counterA = counterA + 2; counterB = counterA + difference; if (counterA > 9) { counterA = counterA - 10; difference = difference + 1; } if (difference > 9) { counterB = counterB - 10; } if (counterB > 9) { difference = 2; } } } return (answer); } multitest () { int counterA, counterB, difference, answer; char again; counterA = 4; difference = 5; counterB = counterA + difference; while (1 == 1) { printf ("\n\n\n\n\n\n\n"); printf ("\t\t\tMULTIPLCATION QUIZ"); printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); printf ("\t%d * %d = ", number [counterA], number [counterB]); scanf ("%d", &answer); if (answer == number [counterA] * number [counterB]) { printf ("\nTHAT IS CORRECT!!"); } else { printf ("\nTHAT IS INCORRECT.\n"); printf ("\nThe answer is %d", number [counterA] * number [counterB]); } printf ("\n\nDo you want to try again ? Y/N : "); scanf ("\n%c", &again); if (again != 'Y' && again != 'y') { break; } else { counterA = counterA + 2; if (counterA > 9) { counterA = counterA - 10; difference = difference + 1; } if (difference > 9) { difference = 2; } counterB = counterB + difference; if (counterB > 9) { counterB = counterB - 10; } } } return (answer); } divtest () { int counterA, counterB, difference, answer, remainder; char again; counterA = 3; difference = 4; counterB = counterA + difference; while (1 == 1) { if (number [counterA] < number [counterB] || number [counterB] == 0) { again = 'Y'; } else { printf ("\n\n\n\n\n\n\n"); printf ("\t\t\tDIVISION QUIZ"); printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); printf ("\t%d / %d = ", number [counterA], number [counterB]); printf ("\nWhat is the answer? : "); scanf ("%d", &answer); printf ("\nWhat is the remainder? : "); scanf ("%d", &remainder); if (answer == number [counterA] / number [counterB] && remainder == number [counterA] % number [counterB]) { printf ("\nTHAT IS CORRECT!!"); } else { printf ("\nTHAT IS INCORRECT.\n"); printf ("\nThe answer is %d remainder %d", number [counterA] / number [counterB], number [counterA] % number [counterB]); } printf ("\n\nDo you want to try again ? Y/N : "); scanf ("\n%c", &again); } if (again != 'Y' && again != 'y') { break; } else { counterA = counterA + 2; if (counterA > 9) { counterA = counterA - 10; difference = difference + 1; } if (difference > 9) { difference = 2; } counterB = counterA + difference; if (counterB > 9) { counterB = counterB - 10; } } } return (answer, remainder); }