Plusieurs expressions dans un switch???

Signaler
Messages postés
12
Date d'inscription
samedi 29 avril 2006
Statut
Membre
Dernière intervention
30 avril 2006
-
Messages postés
10
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
1 mai 2006
-
Salut!
Est il possible de mettre plusieurs expression dans un switch??
par exemple: switch (a, b, c, d)
Existe t'il une methode pour faire ca, sa meviterai d'avoir a faire 16 switch lol
Merci

6 réponses

Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Donc bé c'est vrai que c'est un problème intéressant, mais j'pense pas que ce soit possible pour le switch :)

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
10
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
1 mai 2006

Salut,
Je ne comprend pas trop ton probleme. Il est effectivement possible de passer en parametre du switch
plusieurs expression, conditions etc... Mais ce sera un petit peu plus complexe. Tout est possible en c, c++. La seule limite c'est nous.
Je n'arrive pas à situer ton soucis. Peus tu m'en dire plus. Sinon, à titre d'exemple:
 //...
 char caractere;
 // position dans le tableau
 int i = 1; // alors c'est 'b'
char* tab[5] = { "a","b","c","d"};
switch(*tab[i])
 {
  case 'a' : caractere = *tab[0];
  break;
 case 'b' : caractere = *tab[1];
  break;
 case 'c' : caractere = *tab[2];
  break;
 case 'd' : caractere = *tab[3];
  break;
 default: break;
 };
 return caractere;
Messages postés
12
Date d'inscription
samedi 29 avril 2006
Statut
Membre
Dernière intervention
30 avril 2006

C'est une très bonne solution que tu propose Pitchikwow, je te remercie je vais essayé ca tout de suite ;-)
Messages postés
12
Date d'inscription
samedi 29 avril 2006
Statut
Membre
Dernière intervention
30 avril 2006

Mon gros soucis c'est que j'aumerais qu'il effectue { "a","b","c","d"} en même temps dans mon switch, mais je v deja essayé ta solution et je verrai après merci
Messages postés
12
Date d'inscription
samedi 29 avril 2006
Statut
Membre
Dernière intervention
30 avril 2006

char* tab[5] = { "a","b","c","d"};
switch(*tab[i])
le switch prend les expressions une par une et moi j'aimerais qu'il les effectue en même temps, d'un seul coup
Messages postés
10
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
1 mai 2006

Salut,
une solution:
//Si a et b et c et d sont retenues alors case ? : (ceketuveux):
switch(a & b & c & d)
{
 }
a+