Posez votre question Signaler

Switch et case

galsen3 313Messages postés 6 juillet 2008Date d'inscription 26 janvier 2012Dernière intervention - Dernière réponse le 16 juin 2009 à 16:56
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;
Lire la suite 

Switch et case »

4 réponses
Réponse
+0
moins plus
quel langage utilise tu vb ?
Ajouter un commentaire
Réponse
+0
moins plus
langage C
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 court
int 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.
Ajouter un commentaire
Ce document intitulé « switch et case » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook