Bonjour à tous,
Je suis depuis peu les cours de C et je dois réaliser un TP qui consiste à créer un jeu du pendu dans lequel le joueur a 10 essais. Je suis un peu (beaucoup) perdu, j'ai essayé d'organiser mes idées sur papier, et de laisser ce que je n'arrivais pas à traduire en code en français.
Ainsi il me manque deux fonctions, que j'ai remplacé par du français dans mon code :
- La première est une fonction qui affiche le mot recherché en remplaçant les lettres qui n'ont pas été trouvées par des "*".
- La seconde vérifierait si toutes les lettres du mot ont été trouvées ou non.
J'ai sûrement fait un très grand nombre d'erreurs, & je serai ravi qu'on me les fasse remarquer. Voici mon code pour main.c :
Et pour main.h :
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 #include <stdio.h> #include <stdlib.h> #include "main.h" #include <ctype.h> int main(int argc, char *argv[]) { char lettreEntre[10]; // Pour enregistrer les 10 lettres que va taper le joueur char motSecret[] = "ROUGE"; // Le mot à trouver char *pointeurMotSecret = &motSecret; // Pointeur sur le mot secret char *pointeurLettre = &lettreEntre; // Pointeur sur la lettre que va taper le joueur int i = 10; // Les 10 coups à jouer char *lettreTrouve = NULL; // Pointeur qui enregistre si on a trouvé le caractère entré for (i = 10; i > 0, Toutes les lettres ne sont pas trouvées; i -1) { printf("Il vous reste %d essais\n", i); printf("Quel est le mot ? Entrez un caractere\n", Afficher motSecret avec lettres trouvées); lettreEntre[i] = lireCaractere(); lettreTrouve = strchr(motSecret, *pointeurLettre); // On recherche le caractère entré dans motSecret if (lettreTrouve != NULL) // S'il y est, on rajoute un coup { i ++; } } if (Toutes les lettres sont trouvées) { printf("Bravo, le mot était bien %s", motSecret); } else { printf("Perdu"); } return 0; }
Merci d'avance
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 #ifndef DEF_MAIN.H // Si la constante n'a pas été définie le fichier n'a jamais été inclus #define DEF_MAIN.H // On définit la constante pour que la prochaine fois le fichier ne soit plus inclus char lireCaractere() { 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'au \n (pour les effacer) while (getchar() != '\n') ; return caractere; // On retourne le premier caractère qu'on a lu } #endif
Partager