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 :
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 ...
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; }
Le problème vient de cette portion de code :
Savez-vous comment faire pour redemander la multiplication lorsqu'il détecte un string et non un int ?
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);
En vous remerciant
Partager