Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme: mon programme Plante!

Sujet résolu
    14 mai 2006 à 16:59:26

    alors voila j'ai fait le TP de la partie I: le programme "Plus ou moins" tout ce passe bien...
    Je decide d'ameliorer le jeu comme il le suggère dans le tutos. Je fais le premier point d'amelioration:

    Citation : M@teo21

    Faites un compteur de "coups". Ce compteur devra être une variable que vous incrémenterez à chaque fois que vous passez dans la boucle. Lorsque l'utilisateur a trouvé le nombre mystère, vous lui direz "Bravo, vous avez trouvé le nombre mystère en 8 coups" par exemple.



    ça marche donc j'enchaine sur la 2eme idée du restart> çamarche
    Donc je fais en plus le mode 2 joueurs:

    Citation : M@teo21

    Implémentez un mode 2 joueurs ! Attention, je veux qu'on ait le choix entre un mode 1 joueur et un mode 2 joueurs !
    Vous devrez donc faire un menu au début de votre programme qui demande à l'utilisateur le mode de jeu qu'il veut faire.
    La seule chose qui changera entre les deux modes de jeu, c'est la génération du nombre mystère. Dans un cas ce sera un rand() comme on a vu, dans l'autre cas ça sera... un scanf ;)



    Je le fais tout a l'air impec..
    Je le lance et au moment où je choisi le mode 1 ou 2 joueurs(quand je tape 1 ou 2) o_Omon programme plante!
    Vous savez le plantage typique de Windows:
    "Plus ou moins.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru."

    Voilà merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      14 mai 2006 à 17:02:03

      Il faudrait que tu mette ton code car sinon ça va être dur de trouver ton erreur :) .
      • Partager sur Facebook
      • Partager sur Twitter
        14 mai 2006 à 17:18:10

            #include <stdio.h>
            #include <stdlib.h>
            #include <time.h>
           
            int main(int argc, char *argv[])
            {
              long choixMode = 0;
              printf("   * Plus ou Moins *\n\n\n Choisissez votre mode de jeu:\n  1. Un Joueur\n  2. Deux Joueurs\n\n  ");
              scanf("%ld", choixMode);
             
              //// Option 1 joueur ////
             
              if (choixMode == 1)
             {
                int continuerPartie = 1;
                while (continuerPartie)
              {
                const long MAX = 100, MIN = 1;
                long nombreMystere = 0, Nombre = 0, Compteur = 0;
             
                srand(time(NULL));
                nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
               
                printf("\n\n   *** Mode 1 joueur ***\n\n\n\n");
               
                do
                {
                printf(" Quel est le nombre mystere?"); scanf("%ld", &Nombre);
                 Compteur++;
                 if (Nombre > nombreMystere)
                  printf(" C'est moins!\n\n");
                 else if (Nombre < nombreMystere)
                  printf(" C'est plus!\n\n");
                 else
                  {
                  printf(" \n Bravo vous avez trouver le nombre mystere en %ld coups!\n\n\n", Compteur);
                  printf(" Voulez vous rejouer?\n  1. Oui\n  0. Non \n\n\n"); scanf("%ld", &continuerPartie);
                  }
                } while (Nombre != nombreMystere);
              }
             }
             
             
              //// Option 2 Joueurs ////
             
             
              else if (choixMode == 2)
             {
            int continuerPartie = 1;
                while (continuerPartie)
              {
                const long MAX = 100, MIN = 1;
                long nombreMystere = 0, Nombre = 0, Compteur = 0;
               
                printf("\n\n   *** Mode 2 joueurs ***\n\n\n\n");
                printf(" 1er joueur tapez le nombre Mystere (entre %ld et %ld): ", MIN, MAX); scanf("%ld", nombreMystere);
                printf("\n\n\n A vous 2e joueur:\n\n");
               
                do
                {
                printf(" Quel est le nombre mystere?"); scanf("%ld", &Nombre);
                 Compteur++;
                 if (Nombre > nombreMystere)
                  printf(" C'est moins!\n\n");
                 else if (Nombre < nombreMystere)
                  printf(" C'est plus!\n\n");
                 else
                  {
                  printf(" \n Bravo vous avez trouver le nombre mystere en %ld coups!\n\n\n", Compteur);
                  printf(" Voulez vous rejouer?\n  1. Oui\n  0. Non \n\n\n"); scanf("%ld", &continuerPartie);
                  }
                } while (Nombre != nombreMystere);
              }
             }
             
              //trompé de choix///
              else
              {
              printf("\nTapez 1 ou 2 pour choisir le mode!\n\n");
              } 
              system("PAUSE")
              return 0;
            }
        • Partager sur Facebook
        • Partager sur Twitter
          14 mai 2006 à 17:19:50

          Utilise les balises de code et indente ton code pour qu'il soit plus agréable à lire. Sinon ça fait mal aux yeux
          • Partager sur Facebook
          • Partager sur Twitter
            14 mai 2006 à 17:23:50

            Salut
            if (choixMode = 1)

            Il ne faut pas mettre un seul "=" mais deux, comme ceci:
            if (choixMode == 1)

            Pareil pour le mode deux joueurs.
            • Partager sur Facebook
            • Partager sur Twitter
              14 mai 2006 à 17:29:38

              j'ai modifié le = en == comme tu as dit mais ça change rien! (merci quand meme)
              • Partager sur Facebook
              • Partager sur Twitter
                14 mai 2006 à 17:32:25

                il faut que tu mette:

                scanf("%ld", &choixMode);
                • Partager sur Facebook
                • Partager sur Twitter
                  14 mai 2006 à 17:32:37

                  scanf("%ld", choixMode);
                  == FAUX
                  scanf("%ld", &choixMode);
                  == JUSTE


                  [EDIT] Grilled à 1/2 sec. :p
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 mai 2006 à 17:40:20

                    ça marche :)
                    qu'est ce que je peux etre étourdi des fois! :lol:
                    Merci
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 mai 2006 à 17:42:10

                      Met ton sujet résolu (regarde en bas)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Probleme: mon programme Plante!

                      × 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