Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme pour le pendu

Sujet résolu
    25 juillet 2006 à 10:51:10

    Bonjour a tous,

    J'ai un probleme pour le TP : Le pendu.
    J'arrive a tous faire pour l'instant mais le seul probleme, c'est que le programme ne veux pas dire qu'en t'est ce que la personne a trouver le bon mot.
    J'ai ésséiller avec une boucle, une fonction et une condition rien n'a marcher.

    voila le code sans la boucle ou condition ou fonction qui dit que l'on a gagner.
    Je préfére que vous me le dite vous méme le bon code qui diré que l'on a trouver le bon mot.
    Desolé je n'ai pas mi les commentére.

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


    char lireCaractere();
    int lettreAChercher(char motATrouver1[], char motSecret1[], char maLettre1);



    int main (int argc, char *argv[])
    {
       char maLettre = ' ';
       char motATrouver[] = "MARRON";
       char motSecret[] = "******";


       printf("                               ************\n");
       printf("                               ************\n");
       printf("                               **LE PENDU**\n");
       printf("                               ************\n");
       printf("                               ************\n\n\n\n");

       printf("Bienvenu au jeux le Pendu.\n");

       while (motATrouver != motSecret)
       {


       printf("\nChoisi c'est une Lettre entre A et Z : ");
       maLettre = lireCaractere();


       printf("\nVous avez choisi : %c\n\n", maLettre);
       motSecret[7] = lettreAChercher(motATrouver, motSecret, maLettre);
       printf("\n\nSe que vous avez trouver : %s", motSecret);


       }


    }



    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
    }


    int lettreAChercher(char motATrouver1[], char motSecret1[], char maLettre1)
    {
        long i = 0;

        for(i = 0; motSecret1[i] != '\0'; i++)
        {
            if(motSecret1[i] != motATrouver1[i])
            {
            if(maLettre1 == motATrouver1[i])
            {
                motSecret1[i] = maLettre1;
            }
            else
            {
                motSecret1[i] = '*';
            }
            }
        }

        return motSecret1;
    }



    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
    Le c++ est mon divertissement ^^ Quelque vidéo qui peut aider quelque personne : https://www.youtube.com/channel/UCTSlyi-KvM85gPo2gSH145Q
      25 juillet 2006 à 10:59:33

      Tu as pensé à utiliser strcmp() ? Si en envoyant en paramètre la chaine à trouver et la chaine dévoilée tu obtiens une valeur retour de 0, alors c'est que les deux chaines sont semblables et tu break. ;) Sinon, bah tu fais continuer ta boucle. :-°
      • Partager sur Facebook
      • Partager sur Twitter
        25 juillet 2006 à 11:03:13

        Merci beaucoup je ni avez pas penser.
        Quelle zéro que je suis.
        a++
        Encore merci
        • Partager sur Facebook
        • Partager sur Twitter
        Le c++ est mon divertissement ^^ Quelque vidéo qui peut aider quelque personne : https://www.youtube.com/channel/UCTSlyi-KvM85gPo2gSH145Q

        Probleme pour le pendu

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown