Rechercher : dans
Par :

C++ : "case:"

Dernière réponse le 27 nov 2001 à 20:46:24 bocco, le 26 nov 2001 à 15:38:12 
 Signaler ce message aux modérateurs

Comment donner a un "case" une valeur non constante ?
Comment contourner ce probleme ??

Meilleures réponses pour « C++ : "case:" » dans :
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

Bobinours, le 27 nov 2001 à 02:17:45

Qu'est-ce tu veux faire exactement ?

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

(Non testé)

-= Bobinours =-

Répondre à Bobinours

2

chmanu, le 27 nov 2001 à 11:59:13

Je crois comprendre la question :
int i; int x;
switch (i)
{case x :
... ; break;
...
}

Et ca marche pas comme ca?

Répondre à chmanu

3

gosseye, le 27 nov 2001 à 16:00:02

Bonjour,

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

Et donc ca marche pas :-(

Répondre à gosseye

4

 Dannybrain, le 27 nov 2001 à 20:46:24

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...

Répondre à Dannybrain