-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdivision_test.cpp
More file actions
40 lines (39 loc) · 1.19 KB
/
division_test.cpp
File metadata and controls
40 lines (39 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//
// Division tester program
//
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int dividend, divisor, answer; //answer = dividend/divisor
int users_answer;
long start_time;
int duration;
int sum_correct = 0;
int sum_durations = 0;
int i; //counter
srand(time(NULL)); //use current time as seed
for (i=0; i<10; i++)
{
answer = rand()/(RAND_MAX/8) + 2;
divisor = rand()/(RAND_MAX/8) + 2;
dividend = answer*divisor; // Generate answer and divisort, then work out dividend from them.
cout << "what is " << dividend << " divided by " << divisor << "?\n";
start_time = time(NULL);
cin >> users_answer;
if (users_answer != answer)
cout << "WRONG! The answer is " << answer << '\n';
else
{
cout << "Correct!\n" << "Time taken: " << (duration = time(NULL)-start_time) << " seconds\n";
sum_correct++;
sum_durations += duration;
}
}
cout << sum_correct << " out of 10 correct.\n";
if (sum_correct)
cout << "Average time = "<< (double) sum_durations/sum_correct << " seconds\n";
return 0;
}