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 :

question sur le switch


Sujet :

C

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 16
    Points : 22
    Points
    22
    Par défaut question sur le switch
    Bonsoir ,
    dans un exercice en langage C , on demande de reproduire le Menu suivant à l'aide de printf :

    == Menu ==
    1. Royal Cheese
    2. Mc Deluxe
    3. Mc Bacon
    4. Big Mag
    Votre choix ?
    puis ajouter un scanf pour enregistrer le choix de l'utilisateur dans une variable de type int appelée choixMenu, l'utilisateur doit entrer 1 ou 2 ou 3 ou 4 en fonction de son choix selon le menu ci-dessus, et enfin faire un switch pour dire à l'utilisateur: vous avez choisi le Royal Cheese par exemple s'il a entré 1, mais s'il entre un autre numéro que 1 ou 2 ou 3 ou 4 la console lui répond par le message : vous ne mangerez rien du tout !
    comme solution on a écrit le code suivant :

    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
    # include <stdio .h>
    # include <stdlib .h>
     
    int main ( int argc , char * argv [])
    {
         int choixMenu ;
     
         printf ("=== Menu ===\ n\n");
         printf ("1. Royal Cheese \n");
       printf ("2. Mc Deluxe \n");
       printf ("3. Mc Bacon \n");
       printf ("4. Big Mac\n");
       printf ("\ nVotre choix ? ");
       scanf ("%d", & choixMenu );
     
       printf ("\n");
     
       switch ( choixMenu )
      {
          case 1:
              printf (" Vous avez choisi le Royal Cheese !");
          break ;
          case 2:
             printf (" Vous avez choisi le Mc Deluxe !");
          break ;
          case 3:
             printf (" Vous avez choisi le Mc Bacon !");
          break ;
          case 4:
             printf (" Vous avez choisi le Big Mac !");
          break ;
          default :
          printf (" Vous ne mangerez rien du tout !");
          break ;
      }
     
    printf ("\n\n");
     
    return 0;
    }
    je me demande sur la signification de la ligne : printf ("=== Menu ===\ n\n"); pourquoi on a mis deux fois \n qui signifie le retour à la ligne ? Une seule fois ne suffirait pas ? Puis dans la ligne numéro 16 que signifie printf("\n") ? Et dans la ligne 37 aussi, pourquoi printf("\n\n") ? Vraiment j'ai rien compris et j'ai besoin de l'aide d'une âme charitable , merci d'avance

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 434
    Points : 43 065
    Points
    43 065
    Par défaut
    je me demande sur la signification de la ligne : printf ("=== Menu ===\ n\n"); pourquoi on a mis deux fois \n qui signifie le retour à la ligne ?
    Tout simplement pour laisser une ligne en blanc entre la ligne menu et le 1er élément.

    Par contre, que se passe t'il si tu rentres autre chose qu'un chiffre ? Testes.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par simousside Voir le message
    scanf ("%d", & choixMenu );
    Il est d'usage de coller le "&" avec la variable dont on veut l'adresse. Cela marque bien l'association voulue => scanf ("%d", &choixMenu );.

    Citation Envoyé par simousside Voir le message
    je me demande sur la signification de la ligne : printf ("=== Menu ===\ n\n"); pourquoi on a mis deux fois \n qui signifie le retour à la ligne ?
    Justement parce que le concepteur de ce code veut retourner deux fois à la ligne avant d'afficher autre chose !!!
    Toutefois le premier "\n" n'en est pas un (un espace entre "\" et "n")...

    Citation Envoyé par simousside Voir le message
    Puis dans la ligne numéro 16 que signifie printf("\n") ? Et dans la ligne 37 aussi, pourquoi printf("\n\n") ?
    Ben quoi ? Tu sais ce que fait "\n" donc tu peux en déduire l'action de ces printf() !!!

    Accessoirement tes questions n'ont rien à voir avec le switch de ton titre.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 434
    Points : 43 065
    Points
    43 065
    Par défaut
    Toutefois le premier "\n" n'en est pas un (un espace entre "\" et "n")
    Bien vu, ou bonne vue.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

Discussions similaires

  1. une question sur case dans un switch
    Par orochi dans le forum Débuter
    Réponses: 2
    Dernier message: 12/08/2017, 11h40
  2. Questions sur switch et déclarations de variables
    Par Iron-Avenger dans le forum Débuter
    Réponses: 11
    Dernier message: 12/06/2013, 16h59
  3. question sur switch
    Par deubelte dans le forum C++
    Réponses: 6
    Dernier message: 27/06/2011, 10h54
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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