Projet realisation d'un Pendu

Résolu
jeandchanel Messages postés 135 Date d'inscription   Statut Membre Dernière intervention   -  
paly2 Messages postés 254 Date d'inscription   Statut Membre Dernière intervention   -
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 706 Date d'inscription   Statut Membre Dernière intervention   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 135 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,

J'ai corrigé la fonction rechercheLettre(), et ça marche comme sur des roulettes !!!
Merci beaucoup.
0
paly2 Messages postés 254 Date d'inscription   Statut Membre Dernière intervention   25
 
0