Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme de nouvelle partie plus ou moins

Sujet résolu
    22 juillet 2006 à 19:17:14

    Bonjour tout le monde. J'ai un probleme<image><image> avec plus ou moins le premier TP. Quand le jeu finit, mon programme me demande si je ve revenir au sommaire ou quitter mais quand je clique sur quitter, mon programme revien comme meme au sommaire. :( .
    Pourriez vous m'aider s'il vous plait !?


    Secret (cliquez pour afficher)
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>


    int main ( int argc, char** argv )
    {
    long choix;
    long nombreMystere = 0;
    long nombreEntre = 0;
    long MAX = 0, MIN = 1;
    long choixDifficulte;
    int continuer=1;

    while (continuer==1)

    {

    printf("****SOMMAIRE DU JEU PLUS OU MOINS****\n\n");
    printf("1.Mode Un Joueur\n");
    printf("2.Mode Deux Joueurs\n\n");
    printf("Appuyez sur 1 pour le mode un joueur ou sur 2 pour le mode deux joueurs.\n");
    printf("Appuyez sur ENTREE ou ENTER pour VALIDER votre choix.\n\n");

    scanf("%ld", &choix);

    printf("\n\n");

    srand(time(NULL));

    switch (choix)
    {
    case 2:

    printf("Joueur 1 : Rentrez un nombre Mystere inconnu du joueur 2. ");
    scanf("%ld", &nombreMystere);
    system("cls");
    break;




    case 1:


    // Génération du nombre aléatoire

    printf("Choix De La Difficulte\n\n");
    printf("3.Novice\n");
    printf("4.Normal\n");
    printf("5.Difficile\n");
    printf("6.Expert\n");
    scanf("%ld", &choixDifficulte);
    }



    switch (choixDifficulte)
    {


    case 3:
    MAX = 100;
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    break;

    case 4:
    MAX = 200;
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    case 5:
    MAX = 1000;
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    case 6:
    MAX = 2000;
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    /* La boucle du programme. Elle se répète tant que l'utilisateur
    n'a pas trouvé le nombre mystère */
    break;
    }


    do
    {
    // On demande le nombre
    printf("Quel est le nombre ? ");
    scanf("%ld", &nombreEntre);

    // On compare le nombre entré avec le nombre mystère

    if (nombreMystere > nombreEntre)
    printf("C'est plus !\n\n");
    else if (nombreMystere < nombreEntre)
    printf("C'est moins !\n\n");
    else
    printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
    } while (nombreEntre != nombreMystere);
    int choisir = 1;

    printf("Tapez 1 pour revenir au Sommaire\n");
    printf("Ou tapez 2 pour quittez\n");
    scanf("%ld", &choisir);

    }



    printf("\n\n");


    system("PAUSE");


    }


    • Partager sur Facebook
    • Partager sur Twitter
      22 juillet 2006 à 19:28:48

      Salut,
      utilise les balises de code déjà, elles sont là pour ça.

      Ensuite, ton problème vient du fait que tu fais while(continuer == 1 ) mais que tu ne modifie jamais continuer.

      Vire la variable choix à la fin ( d'ailleurs la déclaration à rien à faire là, on ne déclare pas de variables dans une boucle ) et remplace la par continuer, ça marchera beaucoup mieux.
      • Partager sur Facebook
      • Partager sur Twitter
        22 juillet 2006 à 19:29:21

        Regarde ton dernier scanf, lorsque tu mets le nombre pour continuer ou quitter, ça modifie une variable du nom de "choisir", alors que pour que la boucle while qui répète le jeu il faut que se soit la variable "continuer" qui soit indiquer. :p

        Vu que continuer est par défault 1, le programme ne s'ârretera pas. :)

        Pour corriger, il te faut juste modifier la variable du scanf. ;)

        [EDIT] Trop tard. :-°
        • Partager sur Facebook
        • Partager sur Twitter
          22 juillet 2006 à 20:08:35

          merci beaucoup. Mon Programme est a present termine
          • Partager sur Facebook
          • Partager sur Twitter

          Probleme de nouvelle partie plus ou moins

          × 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