[C] Retour au début du programme

cs_thekid06
Messages postés
23
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
30 septembre 2009
- 30 sept. 2009 à 22:03
cptpingu
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
- 1 oct. 2009 à 09:57
Bonsoir,
Je cherche après chaque execution revenir au début du programme.
Comment je peut faire s'il vous plaît ?

Voilà ma source :
#include <stdio.h>
#include <stdlib.h>

int menu()
{
int choix = 0;
while (choix < 1 || choix > 4)
{
printf(" Menu :\n");
printf("  1 : Option 1;\n");
printf("  2 : Option 2;\n");
printf("  3 : Option 3;\n");
printf("  4 : Exit\n");
printf("\n   Selectionnez une action.");
printf("\n\n                     | ==> ");
scanf("%d", &choix);
}
return choix;
}

int main(int argc, char *argv[])
{
switch (menu())
{
case 1:
printf("                     | Patientez...");
break;

case 2:
            printf("                     | Patientez...");
break;

case 3:
            printf("                     | Patientez...");
break;

case 4:
            printf("     Appuyer sur une touche pour quitter.");
system ("exit");
break;
}
return menu;
}


Merci d'avance !! :D

3 réponses

cptpingu
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
124
1 oct. 2009 à 09:55
Ce n'est pas une bonne habitude à prendre que de faire des goto ! Ce mot clé est très utile dans des cas très particuliers, une utilisation à outrance est à proscrire. D'une manière générale, ce n'est pas bon de le montrer aux débutants, qui en font un usage abusif.

La deuxième solution est plus adaptée:

int main(int argc, char *argv[])
{
   int continuer = true;
   while (continuer)
   {
switch (menu())
{
case 1:
printf("                     | patientez...");
break;

case 2:
            printf("                     | patientez...");
break;

case 3:
            printf("                     | patientez...");
break;

case 4:
            printf("     appuyer sur une touche pour quitter.");
continuer = false;
break;
}
     return 0;
}
4