Comment retourner a un endroit dans un programme

nono723 Messages postés 510 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
bonjour, je suis débutant en C et j'essaye de retourner dans une partie de mon programme. je m'explique, une fois que la partie est terminée, je joueur (car 'est un jeu) peux rejouer. j'ai réussis a lui faire demander si il veux rejouer, mais je ne sais pas comment remonter en haut de mon programme pour rejouer

nono723

4 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Il suffit d'utiliser une boucle while.

    Par exemple :
    int continuer=1;
    while(continuer) {
         /*ici tu mets ton code*/
    }
    
    

    Cdlt,
    1
  2. nono723 Messages postés 510 Statut Membre 108
     
    merci pour ta réponce mais je n'ai pas tout compris
    0
  3. nono723 Messages postés 510 Statut Membre 108
     
    je vient de comrendre mais j'ai déja essayer avec "while"

    voici mon code

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main ( int argc, char** argv )
    {
        int nombreMystere = 0, nombreEntre = 0, coups = 0, retry = 1;
        const int MAX = 1000, MIN = 1;
    
        //générateur de nombre aléatoire entre 1 et 1000
    
    
        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    
        printf("Bonjour, je suis un genie qui est sortie d'une lampe \n");
          printf("(mais ma lampe ne s'eclaire pas). J'ai perdue le code \n");
          printf("pour rentrer dans ma lampe, peux tu m'aider a le \n");
          printf("retrouver et je te couvrera d'or (virtuelle) \n\n");
    
        if (retry == 0)
        {
            return 0;
        }
        else
        {
        do
            {
                coups++;
                printf("\n Quel est le code");
                scanf("%d", &nombreEntre);
    
                if (nombreMystere > nombreEntre)
                    printf("\n c'est plus \n\n");
                else if (nombreMystere < nombreEntre)
                    printf("\nc'est moins \n\n");
                else
                    printf("\n bravo tu as trouvee le code en %d coups. maintenant,tu est tout jaune \n \n", coups);
            }while (nombreEntre != nombreMystere);
            printf("veux tu rejouer ? \n");
                    printf("1 pour rejouer, 0 pour quiter \n"),
                    scanf("%d", &retry);
        }
        return 0;
    }
    

    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Tu as le droit d'enchaîner les while...
      Ici il te suffit d'insérer le while (...) { après le srand().
      Et de mettre l'accolade finale juste avant le return 0;
      0
  4. nono723 Messages postés 510 Statut Membre 108
     
    merci pour ton aide mais je voulais parler de faire une commande type

    return to ()


    il y a pas une commande de ce genre?
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Si, il y a goto. Mais, je ne vois pas l'intérêt de faire du code spaghetti (utilisation de goto) pour un cas aussi simple alors que while fait parfaitement l'affaire...
      Sache que le goto est à éviter autant que possible (sauf cas particulier).
      0