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

时间:2017-03-26 01:32:26

标签: c

我为这个应用程序编程,但它不起作用,我的控制台窗口不会关闭 我认为我的问题出现在" 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 jouer\n",nbre_coup);
              printf("Quel est le mot secret? %s\n",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]!= '\0';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;
}

1 个答案:

答案 0 :(得分:-1)

谢谢Cool Guy的回答 这是我的新代码:

#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 jouer\n",nbre_coup);
              printf("Quel est le mot secret? %s\n",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;
}