#include <iostream>
#include <ctime>
bool play(int level, int max_level) {
const int a = rand() % level + level;
const int b = rand() % level + level;
const int c = rand() % level + level;
const int sumabc = a + b + c;
const int productabc = a * b * c;
std::cout << "Level " << level << " of " << max_level << "\n";
std::cout << "Enter 3 numbers:\n";
std::cout << "a + b + c must be = " << sumabc << "\n";
std::cout << "a * b * c must be = " << productabc << "\n";
int usera, userb, userc;
std::cin >> usera >> userb >> userc;
int usersum = usera + userb + userc;
int userproduct = usera * userb * userc;
if (usersum == sumabc && userproduct == productabc) {
std::cout << "OK\n\n";
return true;
}
else {
std::cout << "Wrong\n\n";
return false;
}
}
int main()
{
srand(time(NULL));
int level = 1;
int const max_level = 3;
while (level <= max_level) {
bool LevelOK = play(level, max_level);
std::cin.clear();
std::cin.ignore();
if (LevelOK) {
level++;
}
}
std::cout << "END\n";
return 0;
}
/*
run 1:
Level 1 of 3
Enter 3 numbers:
a + b + c must be = 3
a * b * c must be = 1
1 1 1
OK
Level 2 of 3
Enter 3 numbers:
a + b + c must be = 8
a * b * c must be = 18
3 3 2
OK
Level 3 of 3
Enter 3 numbers:
a + b + c must be = 12
a * b * c must be = 60
4 3 5
OK
END
*/
/*
run 2:
Level 1 of 3
Enter 3 numbers:
a + b + c must be = 3
a * b * c must be = 1
1 1 1
OK
Level 2 of 3
Enter 3 numbers:
a + b + c must be = 9
a * b * c must be = 27
3 3 3
OK
Level 3 of 3
Enter 3 numbers:
a + b + c must be = 11
a * b * c must be = 45
3 5 3
OK
END
*/
/*
run 3 :
Level 1 of 3
Enter 3 numbers:
a + b + c must be = 3
a * b * c must be = 1
1 1 1
OK
Level 2 of 3
Enter 3 numbers:
a + b + c must be = 8
a * b * c must be = 18
3 3 2
OK
Level 3 of 3
Enter 3 numbers:
a + b + c must be = 14
a * b * c must be = 100
1 2 3
Wrong
Level 3 of 3
Enter 3 numbers:
a + b + c must be = 11
a * b * c must be = 48
3 4 5
Wrong
Level 3 of 3
Enter 3 numbers:
a + b + c must be = 10
a * b * c must be = 36
3 4 3
OK
END
*/