我不知道错误在哪里,我的控制台窗口不会关闭



我对此应用程序进行了编程,但它不起作用,我的控制台窗口无法关闭我认为我的问题出在"etoiler"的发音上,因为他给我看了第一句话"Bienvenue dans le Pendu !!这是我关于一个简单的游戏的代码,它告诉你从单词中猜测字母:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
void etoiler(int taille,char *mot_secret);
void verifiermot(char caractere,char *mot_secret,char *mot_secret_verif,int *nbre_coup);
char proposezUneLettre();
int main(){
     /* -------------variables-----------------*/
       char mot_secret_verif[]="MARRON";
       char mot_secret[strlen(mot_secret_verif)];
       char caractere;
       int nbre_coup=10;
     /*---------------traitement------------*/
       printf("Bienvenue dans le Pendu !!n");
       etoiler(strlen(mot_secret_verif),mot_secret);
       while(nbre_coup>0 && (strpbrk(mot_secret,'*'))){
              verifiermot(caractere,mot_secret,mot_secret_verif,&nbre_coup);
              printf("Il vous reste %d coups a jouern",nbre_coup);
              printf("Quel est le mot secret? %sn",mot_secret);
              printf("Proposez une lettre : ");
              caractere=proposezUneLettre();
              printf("%c",caractere);
       }
       if(nbre_coup<=0){
              printf("Perdu :p le mot secret etait %s",mot_secret_verif);
       }
       if(!strpbrk(mot_secret,'*')){
              printf("Gagne ! Le mot secret etait bien",mot_secret_verif);
       }
     return 0;
     }
/* ---------------------- les fonctions ------------------*/
void etoiler(int taille,char *mot_secret){
       int i ;
       for(i=0;i<taille;i++){
              mot_secret[i]='*';
       }
       }
void verifiermot(char caractere,char *mot_secret,char *mot_secret_verif,int *nbre_coup){
       int i ;
       int b=0;
       for(i=0;mot_secret_verif[i]!= '';i++){
       if(mot_secret_verif[i]==caractere){
              mot_secret[i]=mot_secret_verif[i];
              b++;
          }
        }
        if(!b){(*nbre_coup)--;}
       }
char proposezUneLettre(){
      char caractere = getchar();
      caractere = toupper(caractere);
       while(getchar()!='n');
       return caractere;
}

谢谢酷哥的回答这是我的新代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
void etoiler(int taille,char *mot_secret);
void verifiermot(char caractere,char *mot_secret,char *mot_secret_verif,int *nbre_coup);
char proposezUneLettre();
int main(){
     /* -------------variables-----------------*/
       char mot_secret_verif[]="MARRON";
       char mot_secret[strlen(mot_secret_verif)];
       char caractere;
       int nbre_coup=10;
     /*---------------traitement------------*/
       printf("Bienvenue dans le Pendu !!n");
       etoiler(strlen(mot_secret_verif),mot_secret);
       while((nbre_coup > 0) && (strchr(mot_secret,'*')!=NULL)){
              printf("Il vous reste %d coups a jouern",nbre_coup);
              printf("Quel est le mot secret? %sn",mot_secret);
              printf("Proposez une lettre : ");
              caractere=proposezUneLettre();
              verifiermot(caractere,mot_secret,mot_secret_verif,&nbre_coup);
       }
       if(nbre_coup<=0){
              printf("Perdu :p le mot secret etait %s",mot_secret_verif);
       }
       if(!strchr(mot_secret,'*')){
              printf("Gagne ! Le mot secret etait bien %s",mot_secret_verif);
       }
     return 0;
     }
/* ---------------------- les fonctions ------------------*/
void etoiler(int taille,char *mot_secret){
       int i ;
       for(i=0;i<taille;i++){
              mot_secret[i]='*';
       }
       }
void verifiermot(char caractere,char *mot_secret,char *mot_secret_verif,int *nbre_coup){
       int i ;
       int b=0;
       for(i=0;i<strlen(mot_secret_verif);i++){
       if(mot_secret_verif[i]==caractere){
              mot_secret[i]=mot_secret_verif[i];
              b++;
          }
        }
        if(!b){(*nbre_coup)--;}
       }
char proposezUneLettre(){
      char caractere = getchar();
      caractere = toupper(caractere);
       while(getchar()!='n');
       return caractere;
}

最新更新