Switch avec des intervalles

Résolu
nisaloncaje Messages postés 154 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 28 septembre 2008 - 5 juil. 2006 à 21:06
nisaloncaje Messages postés 154 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 28 septembre 2008 - 7 juil. 2006 à 21:34
Bonjour, je sais qu'en c++, si on a une variable x, on peut faire :

switch(x){
case 0:
//si x=0, traitement
break;

case 1:
//si x=1, traitement
break;

....

}

ainsi le switch nous permet d'éviter une colossale suite de if

Mais j'aimerais savoir s'il est possible d'utiliser le switch, ou une structure similaire au switch qui me permettrait d'éviter des successions infernales de if, telles que en fait j'ai

si x entre a et b, alors traitement
si x entre c et d, alors traitement ...

J'espère avoir été assez clair sur ce que je veux faire

Comment est ce possible

Merci d'avance

Nisalon Caje

Cependant j'aimerais savoir comment faire pour faire une

5 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 juil. 2006 à 23:30
Pour des inervalles tu as intérêt a utiliser des if, else if, else if... (ne pas oublier le else à chaque fois si les intervalles sont disjoints)

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
nisaloncaje Messages postés 154 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 28 septembre 2008
6 juil. 2006 à 18:02
ok merci, donc selon vous pas de structure semblable au switch ?
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
6 juil. 2006 à 20:56
Non

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
7 juil. 2006 à 21:12
Bonsoir,

tu peux faire un truc du genre :

switch(x)
{
    case 1:
    case 2:
    case 3:
       /* traitement  pour les valeurs de 1 a 3*/
       break;

    case 4:
    case 5:
    case 6:
       /* traitement pour les valeurs de 4 a 6 */
       break;

    default:
       /* traitement pour les autres valeurs */
       break;
}

Matt...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nisaloncaje Messages postés 154 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 28 septembre 2008
7 juil. 2006 à 21:34
l'idée n'est pas mauvaise, cependant, x est décimal est peut avoir une valeur un peu dingue du genre 3.0002415345312374 alors avec votre méthode ce sera que difficilement faisable :)
0
Rejoignez-nous