Comment retourner a un endroit dans un programme

Fermé
nono723 Messages postés 458 Date d'inscription mercredi 27 novembre 2013 Statut Membre Dernière intervention 24 janvier 2016 - Modifié par nono723 le 29/12/2014 à 17:07
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 déc. 2014 à 22:55
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

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 déc. 2014 à 17:41
Bonjour,

Il suffit d'utiliser une boucle while.

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


Cdlt,
1
nono723 Messages postés 458 Date d'inscription mercredi 27 novembre 2013 Statut Membre Dernière intervention 24 janvier 2016 108
29 déc. 2014 à 19:05
merci pour ta réponce mais je n'ai pas tout compris
0
nono723 Messages postés 458 Date d'inscription mercredi 27 novembre 2013 Statut Membre Dernière intervention 24 janvier 2016 108
29 déc. 2014 à 19:33
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 déc. 2014 à 21:47
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
nono723 Messages postés 458 Date d'inscription mercredi 27 novembre 2013 Statut Membre Dernière intervention 24 janvier 2016 108
29 déc. 2014 à 22:35
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 déc. 2014 à 22:55
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