Bonjour , voila j'ai un probléme avec mon programme en C
Voila deja l'enoncer :
Ecrire un programme qui verifie la connaissance des tables de multiplication par l'ordinateur.
Pour cela, l'ordinateur proposera 5 enoncés du type "A X B=", un à la fois; A et B représentent des nombes entiers choisis au hassard entre 1 et 20.
L'utilisateur fournira une réponse.
Si celle-ci est correcte, l'ordinateur félicitera l'utilisateur, sinon il donnera la reponse correcte.
Remarque : le prof nous a dit d'utiliser la fonction rand() de la bibliotheque stdlib.h.
Le probléme que j'ai c'est que tout va , mise a part la boucle qui doit effectuer 5 calculer different a la suite de l'autre.Qund j'eecute mon programme il s'arrete dés la fin du premier calcul.Si quelqu'un a une idée.
Je vous met mon Pseudo code et en langage C
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 DEBUT nombre_enonces := 1 nombre1 := RANDOM 1 20 nombre2 := RANDOM 1 20 resultat := nombre1 * nombre2 REPETER ECRIRE nombre1 " x " nombre2 ECRIRE "proposition : " SI resultat = proposition ECRIRE "Bravo ! La reponse est correcte !" nombre_enonces := nombre_enonces + 1 SINON ECRIRE "La reponse correcte est " resultat nombre_enonces := nombre_enonces + 1 FIN SI JUSQU A nombre_enonces = 5 FIN
Voila merci d'avance pour votre aide car la je comprend vraiment pas car j'ai fais un boucle et j'ai mis un compteur (nbressais).
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 #include <stdio.h> #include <stdlib.h> #include <time.h>// librairie de creation de nombre aleatoire int main() { long int nombre1 = 0 , nombre2 = 0 , niveau = 0 , resultat = 0 , proposition = 0 ,nbressais ; const long MAX = 20 , MIN = 0 ; //generation des 2 nombres srand (time(NULL)); nombre1 = (rand() % (MAX - MIN + 1)) + MIN; nombre2 = (rand() % (MAX - MIN + 1)) + MIN ; resultat= nombre1 * nombre2; nbressais = 1; do { //on montre le calcul a effectuer printf("%ld X %ld = ",nombre1,nombre2); //on verifie le resultat avec la proposition nbressais = nbressais + 1 ; scanf("%ld",&proposition); if(resultat == proposition) { //la reponse est correcte printf("BRAVO LA REPONSE EST CORECTE"); } else { printf("non la reponse corecte est %ld \n", resultat); } }while (nbressais > 5); system("PAUSE"); return 0; }
Partager