Partage
  • Partager sur Facebook
  • Partager sur Twitter

rejouer: Oui ou non

    20 décembre 2005 à 16:51:28

    Salut, j'aimerais savoir comment à la fin de la partie on fait pour rejouer et en plus lors de la compilation j'ai un bug au niveau de
    rejouer= 1;
    voici mon code

    rejouer= 1;
            printf("Voulez-vous rejouer?\n");
            printf("1: Oui");
            printf("2: Non");
            scanf("%d",&rejouer);
            if(rejouer==1)
            {
                          /*C'est la que je ne sais pas */
            }
            else
            {
           
            system("pause");/*on fait une pause*/
            return(0);/*le return de fin */       
            }
    • Partager sur Facebook
    • Partager sur Twitter
      20 décembre 2005 à 16:57:08

      Salut,
      Utilise une boucle while(1) pour faire propre :

      #include <iostream>

      int main() {
              while(1) {
                      printf("Voulez-vous rejouer?\n");
                      printf("1: Oui");
                      printf("2: Non");
                      scanf("%d",&rejouer);

                      // Si rejouer est different de 1 (donc 2, 0, -1, etc)
                      if(rejouer != 1)
                              break;

                      // Ton code continue ici

                     
                      // Oublie pas un getchar() a la fin sinon il va re-proposer trop vite le menu
                      getchar();
              }
              getchar();/*on fait une pause (getchar() = system("PAUSE";) sans le message, mais sa marche pour tout les OS*/
              return(0);/*le return de fin */   
      }



      EDIT : je viens de voir que dans le cours de m@teo ne parle des break; et continue;, mais pour faire rapide break; permet de quitter une boucle (to break = casser en francais) et continue; permet de "refaire un tour" avec la boucle ; ex :
      for(int i = 0;i < 10;i++) {
                      // On passe quand i == 5 (on execute rien de ce qui est en dessous)
                      if(i == 5) continue;
                      // On arrete la boucle quand i == 8
                      if(i == 8) break;

                      printf("i : %d\n",i);
              }
      • Partager sur Facebook
      • Partager sur Twitter
        20 décembre 2005 à 16:58:40

        si tu cherche l'erreur c'est:

        return(0);
        }
        }

        tu as oublié 1 accolade!
        la 1ère pour fermer le else et la deuxième pour fermer main.
        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2005 à 16:58:51

          cette question a deja était posée plein de fois

          Pour faire ça n'utilise pas de condition mais une boucle de type do ... while pour plus d'info regarde dans
          le cours, et une fois que tu auras bien essayer, si tu y arrive pas j'essayerer de t'aider ... si j'y arrive ...
          • Partager sur Facebook
          • Partager sur Twitter
            20 décembre 2005 à 17:06:21

            ça rejoue ça rejoue mais ça s'arrête pas
            • Partager sur Facebook
            • Partager sur Twitter
              20 décembre 2005 à 17:12:06

              Pour que ça s'arrete, il faut mettre (par exemple)

              une variable :
              long quitter= 0;


              Un endroit où on met :
              printf ("appuyez sur 0 pour recommencer ou sur 3 pour quitter");
              scanf ("%ld", &quitter);


              et une condition :
              else if (quitter == 3)
              {
              return= 0;
              }


              Et voila normalement c'est bon ;)

              Ou alors dans une boucle qui ne s'execute que quand quitter = 0.
              Une fois qu'on change la valeure de quitter ça se ferme.
              • Partager sur Facebook
              • Partager sur Twitter

              rejouer: Oui ou non

              × 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