Bonsoir, j'ai un problème avec mon code qui produit une erreur lors du lancement.
Voilà le code complet:
il semblerai que ce soit un problème à cette ligne là dans proposer_lettre
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 #include <stdio.h> #include <stdlib.h> char proposer_lettre(char*, char*); int mot_trouve(char*, char*); char lire_caractere() ; int main() { int coup_restant = 10; char *mot_secret = "ROUGE", *mot_decouvert = "*****"; printf("Bienvenue au jeu du pendu!\n"); while(coup_restant > 0) { printf("\nIl vous reste : %d coup restant\n", coup_restant); printf("Quel est le mot secret ? %s\n", mot_decouvert); *mot_decouvert = proposer_lettre(mot_secret, mot_decouvert); if(mot_trouve(mot_secret, mot_decouvert) == 1) printf("\nBravo! Vous avez trouvé le mot!"); else coup_restant--; } return 0; } char proposer_lettre(char *mot_secret, char *mot_decouvert) { char lettre; int i; printf("Proposez une lettre : "); lettre = lire_caractere(); for(i=0 ; mot_secret[i]!='\0' ; i++) { if(lettre == mot_secret[i]) { mot_decouvert[i] = lettre; } } return *mot_decouvert; } int mot_trouve(char *mot_secret, char *mot_decouvert) { int i; for(i=0 ; mot_secret[i]!='\0' ; i++) { if(mot_secret[i] != mot_decouvert[i]) return 0; } return 1; } char lire_caractere() { char caractere = 0; caractere = getchar(); // On lit le premier caractère caractere = toupper(caractere); // On met la lettre en majuscule si elle ne l'est pas déjà // On lit les autres caractères mémorisés un à un jusqu'à l'\n (pour les effacer) while (getchar() != '\n') ; return caractere; // On retourne le premier caractère qu'on a lu }
je ne comprend pas pourquoi çà ne marche pas, est ce comme çà qu'on fait?
Code : Sélectionner tout - Visualiser dans une fenêtre à part mot_decouvert[i] = lettre;
merci de votre aide.
Partager