C++ : "case:"

Fermé
bocco - 26 nov. 2001 à 15:38
 Dannybrain - 27 nov. 2001 à 20:46
Comment donner a un "case" une valeur non constante ?
Comment contourner ce probleme ??

2 réponses

Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
27 nov. 2001 à 02:17
Qu'est-ce tu veux faire exactement ?

int variable = 1;
...
case variable: ... break;

(Non testé)

-= Bobinours =-
0
chmanu Messages postés 166 Date d'inscription mardi 15 mai 2001 Statut Membre Dernière intervention 3 septembre 2012 28
27 nov. 2001 à 11:59
je crois comprendre la question :
int i; int x;
switch (i)
{case x :
... ; break;
...
}

Et ca marche pas comme ca?
0
gosseye > chmanu Messages postés 166 Date d'inscription mardi 15 mai 2001 Statut Membre Dernière intervention 3 septembre 2012
27 nov. 2001 à 16:00
Bonjour,

Le prolblème c'est que le x doit obligatoirement être une valeur constante et pas une variable.

Et donc ca marche pas :-(
0
Salut,

Exactement, le C++, tout comme le C ou le JAVA d'ailleurs ne permettent pas ce que VB ou d'autres langages de scripts permettent, à savoir une instruction "switch() { case }" où les cas sont des variables, par exemple on ne peut pas faire :

case 1 to 10 : fairequelquechose()
break;
case is > 10 : faireautrechose();
break;
etc...

d'après ce que j'avais lu sur le sujet, il n'existe pas de moyens de faire autre chose si ce n'est des if imbriqués ou des case qui se suivent par exemple :

case 1:
case 2:
case 3:
case 4:
case 5: fairequelquechose_pour_valeur_entre_1_et_5()
break;

en esperant avoir répondu à ta question...
0