IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Petit menu


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut Petit menu
    Je souhaite réaliser un petit menu, à l' aide de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    int choix;
     
    switch(choix)
    {
     
    case 1: 
     
    ...
     
    break;
     
     
    case 2: 
     
    ...
     
    break;
     
    default :
     
    exit();
     
    }
    Le lance ce programme sous DOS.
    Et lorsqu'il arrive a break, le programme s'arrête et ne me ramène pas au menu. Je suis obligé de relancer le programme.

    Comment faire pour retourner au menu ?

  2. #2
    Membre chevronné
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Par défaut
    Effectivement , vous avez un exit() set cela sort du programme !!
    Donc tous est normal .

    un "break;" en lieu et place de "exit()" sera peut etre le bienvenue .. Mais vous seul connaissez la réponse .

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut
    Le problème ne vient pas du exit.

    Voici le structure que j' utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    void menu(int choix)
    {
     
    switch(choix)
    {
    case 1 :
    ...
    break;
     
    case 2 :
    ...
    break;
     
    case 3 :
    ...
    break;
     
    case 4 :
    ...
    break;
     
    case 5 :
    ...
    break;
    default:
    break;
       }
    }
     
    int main()
    {
     
    int choix;
     
     
    printf("1-...\n");
    printf("2-...\n");
    printf("3-...\n");
    printf("4-...\n");
    printf("5-...\n");
     
    scanf("%d",&choix);
     
    menu(choix);
     
    }
    Et à chaque fois que j'arrive sur un break mon programme s'arrête.

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Ben c'est normal une fois la fonction lenu appellé on tombe sur le return 0 du mian dnc le programme se termine logiquement.
    Un petit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    while(1) {
    printf("1-...\n");
    printf("2-...\n");
    printf("3-...\n");
    printf("4-...\n");
    printf("5-...\n");
     
    scanf("%d",&choix);
     
    menu(choix);
    }

    Et le programme ne se terminera jamais

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par duranton
    Et à chaque fois que j'arrive sur un break mon programme s'arrête.
    Ben oui, le programme ne va pas boucler par magie. Il faut une boucle quelque part...

  6. #6
    Membre émérite Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Par défaut
    Je préconiserai qqch du genre:
    (R)appeler la fonction void menu si telle ou telle condition n'est pas remplie

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par reggae
    Je préconiserai qqch du genre:
    (R)appeler la fonction void menu si telle ou telle condition n'est pas remplie
    Tu parles de récursion ? Avant d'en arriver là, une bonne maitrise des boucles est indispensable...

  8. #8
    Membre émérite Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Par défaut
    Ouais c'est indéniable!

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/03/2011, 10h20
  2. Faire un petit menu en ksh
    Par laurentze dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 21/07/2010, 09h53
  3. Un petit menu.
    Par Picco dans le forum Oracle
    Réponses: 6
    Dernier message: 28/03/2006, 10h05
  4. faire un petit menu qui lance des processus
    Par tomsoyer dans le forum Linux
    Réponses: 4
    Dernier message: 30/11/2004, 18h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo