Partage
  • Partager sur Facebook
  • Partager sur Twitter

HELP ME

PB sur le tp du pendu

20 avril 2006 à 13:58:08

Après avori galéré et m'étant édaidé du début de la correction g réussi a coder mon jeu mais je ne sais pas pourquoi il plante losque je le lance donc si qqnd pouvait m'aider sa serai cool.
donc voila mon cod
/* Jeu du pendu
    par Darkpoujol
    avec l'aide des tutos du site du zero : www.siteduzero.Com
*/



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


int RechercherLettre( char motSecret[], char lettre, int lettreTrouvee[]);
int gagne (int lettreTrouvee[]);
char lireCaractere();
int main()
{
        char motSecret[] = "MARRON";
        char lettre = 0;
        int lettreTrouvee[6] = {0};
        long i = 0;
        long nombreDeCoups = 10;
     printf("Bienvenue dans LE PENDU !\n\n\n");
        while(nombreDeCoups > 0 && !gagne(lettreTrouvee) )
        {

        printf("Il vous reste %ld coups\n", nombreDeCoups);
        printf("Quel est le mot secret?");

        for (i = 0; i < 6; i++)
        {
            if (lettreTrouvee[i])
            {
                printf("%c",motSecret[i]);
            }
            else
            {
                printf("*");
            }
        }
        printf("\nProposez une lettre?");
        lettre = lireCaractere();
        if(!RechercherLettre(motSecret, lettre, lettreTrouvee))
        {
            nombreDeCoups--;
        }

        }





        system("pause");
        return 0;
}

int RechercherLettre( char motSecret[], char lettre, int lettreTrouvee[])
{
    int bonneLettre = 0;
   long i = 0;

   for(i = 0; motSecret != "\0"; i++)
   {
       if (motSecret[i] == lettre)
       {
           bonneLettre = 1;
           lettreTrouvee[i] = 1;
       }
   }

   return bonneLettre;
}

int gagne(int lettreTrouvee[])
{
    long i = 0;
    int joueurGagne = 1;

    for (i = 0 ; i < 6 ; i++)
    {
        if (lettreTrouvee[i] == 0)
            joueurGagne = 0;
    }

    return joueurGagne;
}


char lireCaractere()
{
    char caractere = 0;

    caractere = getchar(); // On lit le premier caractère
    caractere = toupper(caractere); // On met la lettre en majuscule si elle ne l'est pas déjà

    // On lit les autres caractères mémorisés un à un jusqu'à l'\n (pour les effacer)
    while (getchar() != '\n') ;

    return caractere; // On retourne le premier caractère qu'on a lu
}
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
20 avril 2006 à 14:33:06

Il se lance et il plante ou tu as une erreur qui apparait?Si c'est une erreur , laquelle ?
  • Partager sur Facebook
  • Partager sur Twitter
20 avril 2006 à 14:53:03

le premier for de la fonction recherche Lettre contient une erreur
remplace

for(i = 0; motSecret != "\0"; i++)


par

for(i = 0; motSecret[i] != "\0"; i++)
  • Partager sur Facebook
  • Partager sur Twitter
20 avril 2006 à 15:15:08

Pour répondre a Zandramas, mon programme plante sans donné d'erreur, windows me demande si je ve envoyer le rapport d'erreur c tt ensui en ce qui concerne le for de la fonction g fé le changement mais le programme plante toujours donc merci quand meme
  • Partager sur Facebook
  • Partager sur Twitter
20 avril 2006 à 16:01:16

Ce sujet a un titre qui ne décrit pas correctement le sujet. Vous pouvez re-poster votre sujet en rectifiant ce point.

Voici quelques correspondances pour vous aider à choisir au mieux votre titre :


Merci de votre compréhension.

[Ceci est une réponse semi-automatique]
  • Partager sur Facebook
  • Partager sur Twitter