Switch et case
galsen3
Messages postés
363
Statut
Membre
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai le programme ci-dessous et je veux ituliser les switch case a la place
comment faire?
int avoir_probleme(double a ,int b, double c){
if((b==2)&& (a<5.0))
return 1;
if((b==0))
return 1;
if(b==3)
return 1;
if((b==4)&& (a<5.0))
return 1;
return 0;
j'ai le programme ci-dessous et je veux ituliser les switch case a la place
comment faire?
int avoir_probleme(double a ,int b, double c){
if((b==2)&& (a<5.0))
return 1;
if((b==0))
return 1;
if(b==3)
return 1;
if((b==4)&& (a<5.0))
return 1;
return 0;
Configuration: Linux Firefox 3.0
4 réponses
-
-
-
Si tu tiens au 'switch/case', on pourrait écrire:
int avoir_probleme(double a, int b, double c) { switch (b) { case 0: case 3: return 1; case 2: case 4: if (a < 5.0) return 1; } return 0; }Mais c'est quand même plus facile avec 'if' (et probablement plus rapide)int avoir_probleme(double a, int b, double c) { if ( (b == 0) || (b == 3) || ( ((b == 2) || (b == 4)) && (a < 5.0) ) ) return 1; return 0; }
Bon choix. -
avec que des switch :
int avoir_probleme(double a, int b, double c) { switch (b) { case 0: case 3: return 1; case 2: case 4: switch(a < 5.0) { case true: return 1; case false : return 0; } } return 0; }
ou alors sans "if" ni switch et encore plus courtint avoir_probleme(double a, int b, double c) { return ( (b == 0) || (b == 3) || ( ((b == 2) || (b == 4)) && (a < 5.0) ) )?1:0; }Mais en réfléchissant, je suis sur qu'on peut faire plus court et plus illisible, en utilisant des masques par exemple.