Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme sur le TP n°1

    5 janvier 2006 à 14:59:33

    salut tout le monde !
    voila j'ai un probleme avec le TP n°1 ... le jeu ne marche pas ... voici la source :
    #include <stdio.h>
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {

    long NombreChoisi = 1, NombreTrouve = 1;       

    printf("                                 Mon jeu\n\n\n");



    printf("Joueur 1 >> choisis un nombre:\n");         
    scanf("%ld", &NombreChoisi);                         

    printf("\n\n\n");                                   

    printf("Joueur 2 >> marquez le nombre\n");
    scanf("%ld", &NombreTrouve);

    while(NombreChoisi =! NombreTrouve)
    {
    if(NombreChoisi < NombreTrouve)
    {
                    printf("non ce nombre est trop grand !");
                    scanf("%ld", &NombreTrouve);
                    }
                    else if(NombreChoisi > NombreTrouve)
                    {
                         printf("NoN !! ce nombre est trop petit");
                         scanf("%ld", &NombreTrouve);
                         }
                         }
               
      system("PAUSE");     
      return 0;
    }


    comme vous avez pu le remarquer, je n'ai pas fait générer ne nombre ...
    il faut donc 2 joueurs .

    Voila merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      5 janvier 2006 à 15:42:59

      Bonjour,

      qu'entends tu par le jeu ne marche pas ? Le programme ne compile pas? Il ne fait pas ce qu'il devrait faire? Auquel cas que fait-il ?
      • Partager sur Facebook
      • Partager sur Twitter
        5 janvier 2006 à 15:54:02

        J'ai juste enleve la boucle while et ton code initiale marche, mais le jeu non :) a toi de le continuer.
        #include <stdio.h>
        #include <stdlib.h>
        int main(int argc, char *argv[])
        {
        long NombreChoisi = 1, NombreTrouve = 1;       
        printf("                                 Mon jeu\n\n\n");
        printf("Joueur 1 >> choisis un nombre:\n");         
        scanf("%ld", &NombreChoisi);                         
        printf("\n\n\n");                                   
        printf("Joueur 2 >> marquez le nombre\n");
        scanf("%ld", &NombreTrouve);
        if(NombreChoisi < NombreTrouve)
        {
                        printf("non ce nombre est trop grand !");
                        scanf("%ld", &NombreTrouve);
                        }
        if(NombreChoisi > NombreTrouve)
        {
                        printf("NoN !! ce nombre est trop petit");
                        scanf("%ld", &NombreTrouve);
                        }
          system("PAUSE");     
          return 0;
        }

        Au fait ton code c'est du C, pas du C++
        • Partager sur Facebook
        • Partager sur Twitter
          5 janvier 2006 à 19:12:59

          Salut !
          En faites ta faute était que tu avait mis deux if alors qu'il falait mettre else if ;)
          J'ai améliorer ton code et débugger :

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

          int main(int argc, char *argv[])
          {
          long NombreChoisi = 0, NombreTrouve = 0;       
          printf("                                 Mon jeu\n\n\n");
          printf("Joueur 1 >> choisis un nombre:\n");         
          scanf("%ld", &NombreChoisi);                         
          printf("\n\n\n");                                   
          do
          {
                          printf("Joueur 2 >> marquez le nombre\n");
                          scanf("%ld", &NombreTrouve);     
                         
          if(NombreChoisi < NombreTrouve)
          {
                          printf("non ce nombre est trop grand !\n");
                          }
          else if(NombreChoisi > NombreTrouve)
          {
                          printf("NoN !! ce nombre est trop petit\n");
                          }
          else
          {
              printf("\n\nC'est ca :)");
          } } while (NombreChoisi != NombreTrouve);

            system("PAUSE");     
            return 0;
          }


          Il marche ;)
          ++
          • Partager sur Facebook
          • Partager sur Twitter
            8 janvier 2006 à 11:19:36

            Bonjour, j'ai moi aussi un problème avec le TP n°1. La version de base fonctionne, mais depuis que j'ai rajouté le niveau de difficulté, j'ai des problèmes avec les conditions : quand je demande le niveau de difficulté, que l'on tape 1, 2 ou 3 la valeur max est tout le temps égale à 10... Et je ne vois pas pourquoi. De meme pour la variable partie qui, meme si elle prend la valeur 0, ne fonctionne pas...

            Je poste mon programme en C ci dessous :


            #include <stdio.h>
            #include <stdlib.h>
            #include <time.h>

            int main(int argc, char *argv[])
            {
            long resultat = 0, nombremystere=0,nombredecoup=0, partie=1, difficulte=1, max=0;
            const long MIN = 1;
            do
            {
            printf(" ==Difficulte==\n\n");
            printf("1-facile (nombre de 1 a 10)\n");
            printf("2-normale (nombre de 1 a 50)\n");
            printf("3-difficile (nombre de 1 a 100)\n\n");
            printf("Difficulte ? ");
            scanf("%ld", &difficulte);
            printf("\n");
            if(difficulte=1)
            {
            max=10;
            }
            else if(difficulte=2)
            {
            max=50;
            }
            else if(difficulte=3)
            {
            max=100;
            }
            else if(difficulte>3)
            {
            printf("Difficulte par defaut : 1\n");
            max=10;
            }
            srand(time(NULL));
            nombremystere = (rand() % (max - MIN + 1)) + MIN;
            do
            {
            nombredecoup++;
            printf("Quel est le nombre ? ");
            scanf("%ld", &resultat);
            printf("\n");
            if (resultat<nombremystere)
            {
            printf("Le nombre est plus grand !\n");
            }
            else if (resultat>nombremystere)
            {
            printf("Le nombre est plus petit !\n");
            }
            }while(nombremystere!=resultat);
            printf("%ld est le bon nombre. Vous avez reussi en %ld coups. Felicitation !\n\n", nombremystere, nombredecoup);
            printf("Voulez vous faire une autre partie ? ");
            scanf("%ld", &partie);
            printf("\n");
            if (partie=0)
            {
            partie=0;
            }
            else
            {
            partie=1;
            }
            }while(partie!=0);


            system("PAUSE");
            return 0;
            }


            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              8 janvier 2006 à 11:23:20

              Citation : tom le magicien

              salut tout le monde !
              voila j'ai un probleme avec le TP n°1 ... le jeu ne marche pas ... voici la source :

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

              int main(int argc, char *argv[])
              {

              long NombreChoisi = 1, NombreTrouve = 1;       

              printf("                                 Mon jeu\n\n\n");



              printf("Joueur 1 >> choisis un nombre:\n");         
              scanf("%ld", &NombreChoisi);                         

              printf("\n\n\n");                                   

              printf("Joueur 2 >> marquez le nombre\n");
              scanf("%ld", &NombreTrouve);

              while(NombreChoisi =! NombreTrouve)
              {
              if(NombreChoisi < NombreTrouve)
              {
                              printf("non ce nombre est trop grand !");
                              scanf("%ld", &NombreTrouve);
                              }
                              else if(NombreChoisi > NombreTrouve)
                              {
                                   printf("NoN !! ce nombre est trop petit");
                                   scanf("%ld", &NombreTrouve);
                                   }
                                   }
                         
                system("PAUSE");     
                return 0;
              }



              comme vous avez pu le remarquer, je n'ai pas fait générer ne nombre ...
              il faut donc 2 joueurs .

              Voila merci d'avance ;)


              Ton code c'est du C et t as mis en C++
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                8 janvier 2006 à 12:54:18

                Citation : Ze moi

                ... Ton code c'est du C et t as mis en C++


                Très constructif ;)
                Bon, en fait la faute, me semble t'il, est simplement du au =! qui se note !=, enffin, je ne voi rien d'incorecte avec la boucle et els if(a part que c'est male identer).

                Ze moi -> Ne m'en veut pas, masi tu me tendais une perche ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  8 janvier 2006 à 13:09:16

                  #include <stdio.h>
                  #include <stdlib.h>
                  #include <time.h>

                  int main(int argc, char *argv[])
                  {
                  long resultat = 0, nombremystere=0,nombredecoup=0, partie=1, difficulte=1, max=0;
                  const long MIN = 1;
                  do
                  {
                  printf(" ==Difficulte==\n\n");
                  printf("1-facile (nombre de 1 a 10)\n");
                  printf("2-normale (nombre de 1 a 50)\n");
                  printf("3-difficile (nombre de 1 a 100)\n\n");
                  printf("Difficulte ? ");
                  scanf("%ld", &difficulte);
                  printf("\n");
                  if(difficulte==1)
                  {
                  max=10;
                  }
                  else if(difficulte==2)
                  {
                  max=50;
                  }
                  else if(difficulte==3)
                  {
                  max=100;
                  }
                  else if(difficulte>3)
                  {
                  printf("Difficulte par defaut : 1\n");
                  max=10;
                  }
                  srand(time(NULL));
                  nombremystere = (rand() % (max - MIN + 1)) + MIN;
                  do
                  {
                  nombredecoup++;
                  printf("Quel est le nombre ? ");
                  scanf("%ld", &resultat);
                  printf("\n");
                  if (resultat<nombremystere)
                  {
                  printf("Le nombre est plus grand !\n");
                  }
                  else if (resultat>nombremystere)
                  {
                  printf("Le nombre est plus petit !\n");
                  }
                  }while(nombremystere!=resultat);
                  printf("%ld est le bon nombre. Vous avez reussi en %ld coups. Felicitation !\n\n", nombremystere, nombredecoup);
                  printf("Voulez vous faire une autre partie ? ");
                  scanf("%ld", &partie);
                  printf("\n");
                  if (partie=0)
                  {
                  partie=0;
                  }
                  else
                  {
                  partie=1;
                  }
                  }while(partie=1);


                  system("PAUSE");
                  return 0;
                  }


                  Le égal : == ;)
                  Je n'ai pas testé, je n'ai vu que cette erreur pour l'instant...
                  EDIT: j'ai modifier le do while de fin ;)
                  et j'ai testé: ca marche.++
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    8 janvier 2006 à 13:29:26

                    Citation : JC_Master

                    Citation : Ze moi

                    ... Ton code c'est du C et t as mis en C++


                    Très constructif ;)
                    Bon, en fait la faute, me semble t'il, est simplement du au =! qui se note !=, enffin, je ne voi rien d'incorecte avec la boucle et els if(a part que c'est male identer).

                    Ze moi -> Ne m'en veut pas, masi tu me tendais une perche ^^


                    ben oui mais s'il a créé son projet en C++ et qu'il met du code en C, ça marche?
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      8 janvier 2006 à 15:11:28

                      En général on peut compiler du C comme du C++ mais dans certains cas ça marche pas. D'ailleurs Sanco95 l'avais déja fait remarquer, et enfin c'est pas parce qu'il a coloré avec zCode son code en C++ qu'il l'a aussi compilé en C++ ça ne peut être qu'une petite erreur. Quand vas-tu arrêter de faire des hors sujets et messages inutiles du genre ?

                      Et sinon en effet c'est pas =! mais !=.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        8 janvier 2006 à 15:14:23

                        Citation : louisclem

                        Quand vas-tu arrêter de faire des hors sujets et messages inutiles du genre ?


                        Ben je pensais bien faire là je croyais qu'il s'était trompé mais je vois que non donc je me tait
                        • Partager sur Facebook
                        • Partager sur Twitter
                          8 janvier 2006 à 19:15:49

                          En tout cas c'était bien ca Snakif, je te remercie... Je ferais attention la prochaine fois^^

                          Au passage, je voulais remercier l'auteur du cours sur le C/C++ car il est vraiment bien fait : il se met vraiment dans la peau d'un débutant, c'est rédigé en francais correct et le cours est très compréhensible. Je débute et je n'avais jamais programmé sur PC ou autre (a part la TI-82) et je comprend tout... Je suis pressé que la suite du cours soit disponible...
                          • Partager sur Facebook
                          • Partager sur Twitter

                          probleme sur le TP n°1

                          × 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