Partage
  • Partager sur Facebook
  • Partager sur Twitter

un probleme dans mon code

un pendu

    20 janvier 2006 à 13:48:21

    bonojour tout le monde j'etudie un petit peu le C depuis quelques mois deja et j'aimerai faire un petit jeu du pendu deja pour commencer alors en fait il marche un peu mais quand je met le 'choix' comme vous le contaterez qui est en fait la bonne reponse il ne marche pas c'est a dire qu'il me balance comme si j'avais perdu...help


    voici mon code :

    int dessin1()
    {
    printf("\n 0");
    }

    int dessin2()
    {
    printf("\n /|\\ ");
    }

    int dessin3()
    {
    printf("\n |");
    }

    int dessin4()
    {
    printf("\n / \\ ");
    }

    int main(char car[], char *line, char *choix, int a, int b)
    {
    printf("\nJEU DU PENDU");
    car = "-----------";
    choix = "hello\0";
    printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
    printf ("saisissez votre mot : ");
    gets(line);
    printf("\nLa longueur %s est : %d\n", line, my_strlen (line));

    if (line == choix)
    {
    printf("\n\nBRAVO\n");
    }
    putchar('\n');
    if (line != choix)
    {
    printf("recommence boulet!\n");
    dessin1();
    printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
    printf ("saisissez votre mot : ");
    gets(line);
    printf("\nLa longueur %s est : %d\n", line, my_strlen (line));

    if (line != choix)
    {
    dessin1();
    dessin2();
    printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
    printf("saisissez votre mot : ");
    gets(line);
    printf("\nLa longueur %s est : %d\n", line, strlen (line));
    if(line != choix)
    {
    dessin1();
    dessin2();
    dessin3();
    printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
    printf("saisissez votre mot : ");
    gets(line);
    printf("\nLa longueur %s est : %d\n", line, my_strlen (line));
    if(line != choix)
    {
    dessin1();
    dessin2();
    dessin3();
    dessin4();
    printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
    printf("saisissez votre mot : ");
    gets(line);
    printf("\nLa longueur %s est : %d\n", line, my_strlen (line));
    if(line != choix)
    {
    printf("GAME OVER");
    }

    }
    }
    }

    }
    putchar('\n');
    }

    voila compilez le vous verrez bien, merci les gens
    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2006 à 14:00:30


      int dessin1()
       {
        printf("\n 0");
       }

      int dessin2()
       {
        printf("\n /|\\ ");
       }

      int dessin3()
       {
        printf("\n |");
       }

      int dessin4()
       {
        printf("\n / \\ ");
       }

      int main(char car[], char *line, char *choix, int a, int b)
       {
        printf("\nJEU DU PENDU");
        car = "-----------";
        choix = "hello\0";
        printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
        printf ("saisissez votre mot : ");
        gets(line);
        printf("\nLa longueur %s est : %d\n", line, my_strlen (line));

        if (line == choix)
         {
          printf("\n\nBRAVO\n");
         }
        putchar('\n');
        if (line != choix)
         {
          printf("recommence boulet!\n");
          dessin1();
          printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
          printf ("saisissez votre mot : ");
          gets(line);
          printf("\nLa longueur %s est : %d\n", line, my_strlen (line));
          if (line != choix)
          {
           dessin1();
           dessin2();
           printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
           printf("saisissez votre mot : ");
           gets(line);
           printf("\nLa longueur %s est : %d\n", line, my_strlen (line));
            if(line != choix)
             {
              dessin1();
              dessin2();
              dessin3();
              printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
              printf("saisissez votre mot : ");
              gets(line);
              printf("\nLa longueur %s est : %d\n", line, my_strlen (line));
              if(line != choix)
               {
                dessin1();
                dessin2();
                dessin3();
                dessin4();
                printf("\n\ntrouvez the mot a trouver \n\n%s\n\n", car);
                printf("saisissez votre mot : ");
                gets(line);
                printf("\nLa longueur %s est : %d\n", line, my_strlen (line));
                if(line != choix)
                 {
                  printf("GAME OVER");
                 }
               }
             }
           }
         }
       putchar('\n');
      }



      C'est plus prope comme ca :D
      Je vais enfin pouvoir le lire
      • Partager sur Facebook
      • Partager sur Twitter
        20 janvier 2006 à 14:31:28

        C'est un peu lourd comme code qd meme! Il y aurait pas moyen de faire une boucle ??!!
        • Partager sur Facebook
        • Partager sur Twitter
          20 janvier 2006 à 14:37:44

          et bien en fait j'ai essaye avec un while mais ca ne marche pas remarque j'ai pas un gros niveau donc si tu as une solution je suis preneur lol, ceci dit il y aurait toujours moyen de virer mon if de malade et de les remplacer par plusieurs fonctions ca ferait moins lourds dans le main en tout cas
          • Partager sur Facebook
          • Partager sur Twitter
            20 janvier 2006 à 14:53:57

            Oulà c'est un gros foulli ton truc pourquoi ton compilateur ne te dit rien.

            Dés dans tes fonctions int dessin1 2 3 4 tu ne retournes pas de valeur donc tu dois spécifier le type void :


            void dessin1(void)
            {
                ...
            }

            void dessin2(void)
            {
                ...
            }

            etc


            Ensuite pourquoi tes variables sont dans la liste d'arguments de main ?


            int main(char car[], char *line, char *choix, int a, int b)


            Si tu faisais plutôt


            int main(void)
            {
                char car[] = "";
                char *line;
                char *choix;
                int a, b;


            Ensuite je ne pense pas que tu puisses comparer deux pointeurs avec les opérateur == et !=

            De plus pourquoi à un moment donné, tu utilises un putchar ?
            Pourquoi ne pas continuer sur printf

            Pour finir ta fonction my_strlen est une fonction que tu as codé où une fonction de la bibliothèque standart. Si c'est le cas c'est strlen je crois
            • Partager sur Facebook
            • Partager sur Twitter
              20 janvier 2006 à 15:09:06

              pour le strlen oui en effet j'ai fait une petite erreur j'ai mis my_strlen parce qu'un pote m'avais dis qu'un strlen etait bon comme ca mais qu'il fallait le creer et vu que je ne connaissais pas j'ai voulu tester bon il marche quand je compile avec celui la mais je vais modifier

              ensuite merci pour tes conseils(dsl je suis une quiche en prog :( )
              • Partager sur Facebook
              • Partager sur Twitter

              un probleme dans mon code

              × 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