magbouya
Messages postés3Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention 5 décembre 2008
-
5 déc. 2008 à 18:42
magbouya
Messages postés3Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention 5 décembre 2008
-
5 déc. 2008 à 23:21
Bonjour,
Je débute dans la programmation. J'ai fait un code test (que j'aimerais améliorer après) pour le jeu PENDU mais ça ne marche pas correctement. Quand toutes les lettres du mot caché sont tapez, le jeu ne s'arrête pas. Et, quant je mets un mot secret plus long (par exemple PROGRAMME à la place de GRAMME), le code ne marche pas correctement non plus.
Est-ce que quelqu'un peut me dire où est le problème ?
Merci.
Mon code (CodeBlocks) est le suivant :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h> //Pour la fonction touper
do
{
//compteur++;
printf("Tapez un caractere : ");
caractere = getchar();
caractere = toupper(caractere);
getchar();// Pour vider le buffer (la memoire)
BastienL21
Messages postés172Date d'inscriptiondimanche 10 décembre 2000StatutMembreDernière intervention12 février 20092 5 déc. 2008 à 20:37
Slt,
je peux juste t'aider pour le mot "programme", car au début du pgm, tu dit de calculer automatiquement la longueur de la chaine avcec gramme (6 acractères), donc quand tu veux mettre un mot plus long, il n'y a pa assez de place dans le tableau !
Je te conseillerais de remplacer
char motSecret[] = "GRAMME";
par :
char motSecret[50] = "INIT";//Tu peux y caser un mot long de 50 lettre au maxi
et pour le fait qu'il ne se stop pas, il me semble qu'il faudrait remplacer :
if((strcmp(motSecret, pointeurMotTaper)) == 0)
par:
if( strcmp(motSecret, pointeurMotTaper) == 0)
mais je n'ai pas testé et je ne suis pas sûr... mais cet une hypothèse
magbouya
Messages postés3Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention 5 décembre 2008 5 déc. 2008 à 21:49
Effectivement, en modifiant char motSecret[] = "GRAMME"; par : char motSecret[50] = "INIT"; , j'ai résolu le problème en ce qui concerne les mots de longue taille.Mais le remplacement de if((strcmp(motSecret, pointeurMotTaper)) 0) par: if( strcmp(motSecret, pointeurMotTaper) 0) ne résout encore pas le problème d'arrêt lorsque les lettres du mot secret sont bien taper.