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 :

switch char/string imbriqués C++


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2006
    Messages : 286
    Points : 0
    Points
    0
    Par défaut switch char/string imbriqués C++
    Bonjour,

    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
     
    //switch avec char/string en C++ inbriqués
    //cette version marche
    //-----version simple
    #include <iostream>
    #include <string>
    using namespace std;
    int zer;
    //int main()
    //{
    //cout<<"choix a ou b"<<endl;
    //char sw;
    //sw=getchar();
    //switch (sw)
    //          {
    //          case 'a':
    //                  {
    //                       cout<<"section a"<<endl;break;
    //                  }
    //          case'b':
    //                  {
    //                       cout<<"section b"<<endl;break;
    //                  }
    //          default:{cout<<"defo a b"<<endl;break;}
    //          }
    //return 0;
    //cout<<"0/q"<<endl;
    //cin>>zer;
    //}
    //-----version simple fin
    //=====version imbriquées ne marche pas!pourquoi?
    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
     
    int main()
    {
    cout<<"choix a ou b"<<endl;
    char sw;
    sw=getchar();
    switch (sw)
              {//sw ab
              case 'a':
                      {//sw a
                      cout<<"section a"<<endl;
                      cout<<"choix x ou y (fils de section a)"<<endl;
                      char sw;//facultatif(?) pour mise à zéro de sw??
                      sw=getchar();
                      switch(sw)
                               {//sw xy
                               case 'x':
                                       {//x
                                       cout <<"x/a"<<endl;break;
                                       }//x
                               case 'y':
                                       {//y
                                       cout <<"y/a"<<endl;break;
                                       }//y
                               default:{cout<<" defo x y"<<endl;}
                               }//sw xy
                       }//sw a
                       break;
              case'b':
                     {//sw b
                         cout<<"section b"<<endl;break;
                     }//sw b
              default:{cout<<"defo a b NE DEVRAIT PAS APPARAITRE!"<<endl;}
             }//sw ab
    //return 0;
    cout<<"0/q"<<endl;
    cin>>zer;
    }
    //===version imbriquée fin
    Merci.
    Cordialement.
    Sen.

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2006
    Messages : 286
    Points : 0
    Points
    0
    Par défaut
    bonjour à tous!
    Je n'ai pas pû mettre d'explications.
    La version simple marche:switch avec caractères(!)...
    Mais la deuxième n'enregistre pas la lettre x ou y et passe directement à la fin.
    J'ai tenté de renouveler le contenu de sw:rien.
    Idem en changeant de variable avec sww:rien non plus!
    Les switchs avec chaine ne peuvent être imbriqués.
    Merci pour vos lumières.
    Sen.
    Cordialement.
    Sen.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Points : 641
    Points
    641
    Par défaut
    Quand tu fait le deuxième getchar ton bufffer clavier n'est pas vide.
    Il faut donc le vider.

    Faq : http://c.developpez.com/faq/?page=cl...buffer_clavier

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2006
    Messages : 286
    Points : 0
    Points
    0
    Par défaut vider buffer
    bonsoir!
    Grand merci:çà marche.
    Avec c ou sw d'ailleurs.
    Mon char sw; de "vidage" ou un char sww; donc nouvelle variable ne servait pas.Le buffer était toujours plein.C'était une utilisation d'une possibilité utilisée fréquemment dans un langage ancien commençant par B.!!!
    J'avais une autre autre possibilité les if..
    Encore grand merci.
    Cordialement.
    Sen.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Switch(char) ?
    Par mello dans le forum C
    Réponses: 17
    Dernier message: 25/12/2012, 15h32
  2. char *, string et tableau statique ou dynamique
    Par salseropom dans le forum C
    Réponses: 2
    Dernier message: 05/12/2005, 11h33
  3. switch de string
    Par Marcou dans le forum SL & STL
    Réponses: 10
    Dernier message: 15/03/2005, 20h24
  4. Réponses: 3
    Dernier message: 26/05/2004, 23h03

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