Bonjour à tous,
J'ai créé un petit jeu pour mon petit frère, ce jeu consiste à chronométrer en combien de temps il fini un exercice avec des multiplication aléatoire ...

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <ctime>
 
int RandEntre(int NombreMinimum, int NombreMaximum){
	return (rand() / (double) RAND_MAX ) * (NombreMaximum - NombreMinimum) + NombreMinimum;
}
 
int main()
{
	int const NombreDeFoisFaireTest(10);
 
	int const SecondePourGagner(20);
 
	int const ExerciceNombreMinimum(1);
 
	int const ExerciceNombreMaximum(10);
 
	srand(time(NULL));
 
	time_t start, end;
 
	time(&start);
 
	for(int NombreDeFois(0); NombreDeFois < NombreDeFoisFaireTest; NombreDeFois++)
	{
		int const Nombre1(RandEntre(ExerciceNombreMinimum, ExerciceNombreMaximum));
		int const Nombre2(RandEntre(ExerciceNombreMinimum, ExerciceNombreMaximum));
 
		int Reponse(0);
 
		do
		{
			std::cout << Nombre1 << " fois " << Nombre2 << " ?\n";
			std::cin >> Reponse;
		} while(Reponse != Nombre1 * Nombre2);
	}
 
	time(&end);
 
	double const TempsTotal(difftime(end, start));
 
	if (TempsTotal < SecondePourGagner)
	{
		std::cout << "Niveau réussi !\n";
	}
	else
	{
		std::cout << "GAME OVER ...\n";
	}
 
	char Stop;
	std::cin >> Stop;
 
	return 0;
}
Lorsque je met un chaine de caractère au lieu d'un nombre dans la console, il tourne en boucle et ne s’arrête plus ...

Le problème vient de cette portion de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
do
{
	std::cout << Nombre1 << " fois " << Nombre2 << " ?\n";
	std::cin >> Reponse;
} while(Reponse != Nombre1 * Nombre2);
Savez-vous comment faire pour redemander la multiplication lorsqu'il détecte un string et non un int ?

En vous remerciant