Initialisation de char qui modifie un autre char
Bonjour,
J'ai actuellement un problème qui peut paraître tout bête mais que je ne parviens pas à résoudre. Je suis en train de programmer en C un pendu (sans interface graphique)(cf M@teo) et je bloque sur une valeur :
Code:
1 2 3
| puts(motsecret) ;
char verif[longchaine] ;
puts(motsecret) ; |
Voila ce que ça m'affiche sur la cmd :
les caractères à partir du "&" correspondent à ça : "╝▄<"
Les deux premiers char s'affichent sans problème jusqu'au moment ou je place char verif, longchaine étant une variable qui marche sur les autres char
Je vous fournis la partie du code concerné :
Code:
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
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "entrerlettre.h"
#include "dico.h"
int main(int argc, char* argv[])
{
int continuer = 1 ; while (continuer == 1)
{
printf("\n== Bonjour et bienvenue sur le jeu du pendu ! ==") ;
printf("\n Vous avez 10 essais faux pour chaque partie\n") ;
char malettre = 0 ; int coups = 0 ; int coupsmax = 10 ;
char motsecret[] = {0} ;
piocherMot(motsecret) ;
int longchaine =0 ;
longchaine = strlen(motsecret) ;
char motcode[longchaine] ;
puts(motsecret) ;
char (verif[longchaine] );
puts(motsecret) ;
int lettretrouvee = 0 ;
int i = 0 ;
sprintf(verif,"\n**************") ;
sprintf(motcode,"\n**************") ;
while (lettretrouvee != longchaine)
{
i = 0 ;
strcpy(verif,motcode) ;
if (coups == coupsmax)
{ printf("\n-- Vous etes des a present pendu.. --\n\n") ;
printf("Voulez-vous faire une autre partie ? \n\n1. OUI\n0.NON\nVotre choix : ") ;
scanf("%d",&continuer) ; exit(0) ; }
printf("\n\nDemandez une lettre : ") ;
malettre = lire() ;
while (i != longchaine)
{
if (malettre == motsecret[i])
{ lettretrouvee++ ; (motcode[i]) = (motsecret[i]) ;}
printf("%c",motcode[i]) ;
i++ ;
}
printf("\nVous avez trouvé %d lettre sur les %d ! \n",lettretrouvee,longchaine) ;
if (strcmp(verif,motcode)==0) {coups++ ;}
printf("Il vous reste encore %d coups a jouer ! ",coupsmax - coups) ;
}
printf("\n==Felicitation, vous avez reussis en %d coups ! ==",coups) ;
printf("\nVoulez-vous faire une autre partie ? \n\n1. OUI\n0. NON\nVotre choix : ") ;
scanf("%d",&continuer) ;
}
return 0 ;
} |
C'est surement très brouillon pour vous mais je viens juste de commencer et j'ai fait ce qui me semblait logique et accessible :bebe:
Merci de vos réponses et si vous voulez pluss d'info dites le moi
Cordialement
Un aspirant à la programmation :mouarf: