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 :

comment faire switch avec des strings ?


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 84
    Points : 42
    Points
    42
    Par défaut comment faire switch avec des strings ?
    bonjour,
    comment faire ceci :

    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
    #include <string>
    use namespace std;
     
    string s1;
    string s5;
     
    string s2 = "bonjour";
    string s3 = "byebye";
    string s4 = "coucou";
     
    strcpy(s1,s5);
     
    switch (s1)
    {
     
    case s2 : faitceci(); break;
     
    case s3 : faistcela(); break;
     
    case s4 : faisfais(); break;
     
    default: break;
    }
    ce code juste pour montrer ce que je voudrais faire
    il doit être faux

    merci pour votre aide


  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164

  3. #3
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    On ne peux pas directement. Deux solutions :
    • On enchaîne une série de if() {} else if(){}else{}
    • Dans certain cas, on peut utiliser une map
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    switch(s){
    case "toto" : i=42; break;
    case "tuto" : i=314; break;
    Pourra ainsi s'écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    map<string, int> match;
    match["toto"] = 42;
    match["titi"] = 314;
    i = match[s];
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/06/2011, 17h29
  2. [XL-2007] Faire un "ou" avec des strings
    Par francky74 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/02/2011, 17h58
  3. faire un switch avec des String
    Par samplaid dans le forum Langage
    Réponses: 1
    Dernier message: 03/03/2008, 16h46
  4. Problème avec un switch contenant des strings
    Par dessinateurttuyen dans le forum Langage
    Réponses: 6
    Dernier message: 18/07/2006, 12h56
  5. comment faire pour developper des prog en win32
    Par rhodan51 dans le forum Autres éditeurs
    Réponses: 11
    Dernier message: 09/11/2003, 19h39

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