Jeu du pendu
Fermé
Lk80
Messages postés
2
Date d'inscription
jeudi 17 avril 2014
Statut
Membre
Dernière intervention
18 avril 2014
-
17 avril 2014 à 16:31
Lk80 Messages postés 2 Date d'inscription jeudi 17 avril 2014 Statut Membre Dernière intervention 18 avril 2014 - 18 avril 2014 à 14:13
Lk80 Messages postés 2 Date d'inscription jeudi 17 avril 2014 Statut Membre Dernière intervention 18 avril 2014 - 18 avril 2014 à 14:13
A voir également:
- Jeu du pendu
- Jeu du pendu - Télécharger - Vie quotidienne
- 94 jeu - Télécharger - Puzzle & Réflexion
- Jeu zuma - Télécharger - Jeux vidéo
- Jeu 94 degrés - Télécharger - Divers Jeux
- Logo jeu - Télécharger - Jeux vidéo
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
18 avril 2014 à 00:44
18 avril 2014 à 00:44
#include<conio.h>
Non standard. A enlever si possible.
#define n 100
Conventionnellement, on met des majuscules. Donc plutôt #define N 100
int main()
Le bon prototype est : int main(void)
Ms[i] = getch();
Mets plutôt _getch(), getch() étant obsolète. Pour info, c'est non standard. Tu peux utiliser une bibliothèque (ncurses) pour gérer ce point de manière plus portable.
system("cls");
Pas terrible la fonction system() en C. C'est non performant et en plus non portable (pour ce qui est de l'instruction entre parenthèse). En plus, pas besoin d'effacer l'écran si tu as utiliser_getch(). Enfin, c'est une affaire de goût (pour l'effacement).
while(Ms[i-1]!=13);
Il faut aussi s'assurer que i ne sera pas plus grand que la taille du tableau. Sinon ça plantera.
for(i=0;i<nblettres-1;i=i+1)
C'est i<nbLettres (pas de -1).
char Mt[nblettres];
Ok, mais cela marche pour des raisons que tu ignores. Je te conseille plutôt d'utiliser l'allocation dynamique avec malloc() ou alors de faire un buffer statique par exemple : char Mt[N];
scanf(" %c",&lettre);
Pourquoi mettre un espace devant %c ? Sinon attention avec cette fonction. Il faut purger le buffer clavier pour éviter tout problème.
Je n'ai pas lu le reste. Mais corrige déjà ça et reposte ton programme en le mettant entre des balises "code" (bouton situé à droite du bouton "souligné" et choisis "C" dans la liste déroulante).
Cdlt,
Non standard. A enlever si possible.
#define n 100
Conventionnellement, on met des majuscules. Donc plutôt #define N 100
int main()
Le bon prototype est : int main(void)
Ms[i] = getch();
Mets plutôt _getch(), getch() étant obsolète. Pour info, c'est non standard. Tu peux utiliser une bibliothèque (ncurses) pour gérer ce point de manière plus portable.
system("cls");
Pas terrible la fonction system() en C. C'est non performant et en plus non portable (pour ce qui est de l'instruction entre parenthèse). En plus, pas besoin d'effacer l'écran si tu as utiliser_getch(). Enfin, c'est une affaire de goût (pour l'effacement).
while(Ms[i-1]!=13);
Il faut aussi s'assurer que i ne sera pas plus grand que la taille du tableau. Sinon ça plantera.
for(i=0;i<nblettres-1;i=i+1)
C'est i<nbLettres (pas de -1).
char Mt[nblettres];
Ok, mais cela marche pour des raisons que tu ignores. Je te conseille plutôt d'utiliser l'allocation dynamique avec malloc() ou alors de faire un buffer statique par exemple : char Mt[N];
scanf(" %c",&lettre);
Pourquoi mettre un espace devant %c ? Sinon attention avec cette fonction. Il faut purger le buffer clavier pour éviter tout problème.
Je n'ai pas lu le reste. Mais corrige déjà ça et reposte ton programme en le mettant entre des balises "code" (bouton situé à droite du bouton "souligné" et choisis "C" dans la liste déroulante).
Cdlt,
Lk80
Messages postés
2
Date d'inscription
jeudi 17 avril 2014
Statut
Membre
Dernière intervention
18 avril 2014
18 avril 2014 à 14:13
18 avril 2014 à 14:13
merci fiddy pour tes remarques...,je vais reprogrammer en fonction de cela et voir ce que cela va donner