Projet realisation d'un Pendu

Résolu
jeandchanel Messages postés 136 Statut Membre -  
paly2 Messages postés 261 Statut Membre -
Bonjour,
J'ai urgemment besoin de votre aide, je voudrais savoir pourquoi ce programme ne marche pas bien :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>



char lireCaractere()
{
  char caractere = 0;
  caractere = getchar();
  caractere = toupper(caractere);
  while(getchar() != '\n');
  
  return caractere;
}


int rechercherLettre(char lettreSaisie, char motSecret[], int lettreTrouvee[])
{
    int i = 0;
    int bonneLettre = 0;
   for(i = 0; motSecret[i] != '\0'; i++)
   {
       if(lettreSaisie == motSecret[i])
       {
           bonneLettre = 1;
           lettreTrouvee[i] = 1;
       }
       
       return bonneLettre;
   }
   
}

int gagne(int lettreTrouvee[])
{
    int joueurGagne = 1;
    int i = 0;
    for(i = 0; i < 7; i++)
    {
        if(lettreTrouvee[i] == 0)
        joueurGagne = 0;
    }
    
    return joueurGagne;
}

int main()
{
    char motSecret[] = "NOBOSSE";
    int lettreTrouvee[6] = {0};
    int nbCoupsRestants = 10; 
    int i = 0; 
    char lettreSaisie = 0;
    
    printf("\n");  
    printf("Bienvenu au Jeu du PENDU !\n\n");
  
  do
  {
    
    printf("\n\nIl vous reste %d coups a jouer ! ", nbCoupsRestants);
  
    printf("\nQuel est le mot secret ? ");
    
    for(i = 0; i < 7; i++)
    {
      if(lettreTrouvee[i])
      printf("%c", motSecret[i]);
      
      else
      printf("*");
      
    }
    
    printf("\nProposez une lettre ");
    lettreSaisie = lireCaractere();
    
     if(!rechercherLettre(lettreSaisie, motSecret, lettreTrouvee))
    {
      nbCoupsRestants--;
      printf("Cette lettre ne figure pas dans le mot secret \n");
    }
  
    
  }while(nbCoupsRestants > 0 && !gagne(lettreTrouvee));
    
    if(gagne(lettreTrouvee))
    {
       printf("\n\n");
       printf("GAGNE, le mot secret etait bien %s !!!\n\n", motSecret);
       printf("Partie terminee !\n\n");
    }else
    { 
       printf("\n\n");
       printf("PERDU, le mot secret etait %s !!!\n\n", motSecret);
       printf("Partie terminee !\n\n");
    }
    
    
  
    
    return 0;
  
}





A voir également:

2 réponses

Dalfab Messages postés 720 Statut Membre 101
 
Bonjour,
Préciser ce qui ne marche pas n'est pas superflu.

Dans la fonction rechercherLettre(), le return est dans la boucle for() il faudrait le mettre après.
0
jeandchanel Messages postés 136 Statut Membre
 
bonjour,

J'ai corrigé la fonction rechercheLettre(), et ça marche comme sur des roulettes !!!
Merci beaucoup.
0
paly2 Messages postés 261 Statut Membre 25
 
0