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 case pour deux variable en meme temps


Sujet :

C

  1. #1
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 013
    Points
    2 013
    Par défaut switch case pour deux variable en meme temps
    Bonjour,

    Le switch case est trés pratique pour eviter des cascades de if/else mais je n'arrive pas à l'utiliser quand je fais des tests sur plusieurs variables.

    Un exemple étant surement plus clair voici ce que ve voudrais simplifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if (Buffer[6]==0xAA && Buffer[6]==0x55 ){
    }
    else{
      if (Buffer[6]==0xAA && Buffer[6]==0x55 ){
      }
      else{
         if (Buffer[6]==0xAA && Buffer[6]==0x55 ){
         }
         else{
            et ca continu....
         }
      }
    }
    Apparement Switch case ne permet pas cela...Me trompe je ?

    Comment m'est il possible de simplifier et clarifier un tel code ?

    Je vous remercie par avance
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: switch case pour deux variable en meme temps
    Citation Envoyé par petitours
    Comment m'est il possible de simplifier et clarifier un tel code ?
    Je te conseille d'écrire le code comme ça (je suppose que les valeurs sont bidon, car ce code est absurde).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
       if (Buffer[6]==0xAA && Buffer[6]==0x55 )
       {
       }
       else if (Buffer[6]==0xAA && Buffer[6]==0x55 )
       {
       }
       else if (Buffer[6]==0xAA && Buffer[6]==0x55 )
       {
       }
       else
       {
       }
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Pour le moment ton exemple n'est pas très parlant puisque tu répètes toujours le même test
    Sinon tu peux faire des doubles switch comme 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
    switch(val1)
    {
      case v1 :
        switch(val2)
        {
           case vv1 : .....
        }
        break;
      case v2 :
        switch(val2)
        {
           case vv1 : .....
        }
        break;
    }
    Si c'est toujours le lême second switch tu peux faire une fonction eventuellement.
    Pour bien répondre à ça, de toute façon, il faudrait connaître ton problème exact.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 013
    Points
    2 013
    Par défaut
    Merci pour vos reponses

    effectivement mon code est un peu absurde...
    ce sont les valeurs 0x55 0xAA qui peuvent être ammenées à changer et prendre différentes combinaisons.

    Je suis preneur s'il existe encore mieux mais la solution de emmanuel est super déjà ! C'est trés clair comme présentation.

    Merci beaucoup
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/07/2009, 00h01
  2. Jouer deux sons en meme temps
    Par poly128 dans le forum API, COM et SDKs
    Réponses: 21
    Dernier message: 12/02/2009, 08h41
  3. [JSTL] boucle forEach pour deux liste en même temps
    Par ruud002 dans le forum Taglibs
    Réponses: 1
    Dernier message: 28/09/2006, 15h54
  4. afficher deux popup en meme temps
    Par komando dans le forum Composants
    Réponses: 3
    Dernier message: 17/11/2005, 16h09
  5. remplir deux tables en meme temps
    Par rafawel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/06/2005, 16h41

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