Switch (variable) case en C

Bonjour,
comment faire ce ci en C :
switch (valeur){
case (valeur > 0) :
printf("admet 2 solutions : ");
printf(" bien");;
case 0 :
printf("moyen");
case (valeur < 0) :
printf("mauvais") ;
}

autrement qu'avec if /else if / else ...
Merci
Configuration: Linux
Firefox 3.0.15

4 réponses

  1. Salut,

    https://www.commentcamarche.net/contents/111-langage-c-les-structures-conditionnelles

    @+
    1. conclusion je ne peux faire ça qu'avec if / else if / else ???
  2. oui,

    si tu as bien lu le cour : il précise "Valeur1" donc on peut pas lui donner un booléan (valeur < 0)

    switch (Variable) {

    case Valeur1 :
    Liste d'instructions;

    }

    Bon courage

    @+
    1. int retour(int valeur)
      {
          if(valeur > 0)
              valeur = 1;
      
          return valeur;
      }
      
      
      int main(void)
      {
          int valeur;
          printf("Quel est la valeur : ");
          scanf("%d",&valeur);
          printf("\n\n");
          valeur = retour(valeur);
      
          switch (valeur){
              case 1:
                  printf("\nadmet 2 solutions : ");
                  printf(" bien");
              break;
              case 0 :
                  printf("moyen");
              break;
              default :
                  printf("mauvais") ;
              break;
          }
      
          return 0;
      }
      
      1. Et pourquoi compliquer la vie????!!! case c'est pour des valeurs discrètes

        mais si tu insiste sur case,
        voici une autre possibilité plus simple avec deux cases imbriqués:

        switch (valeur){

        case 1:
        printf(" bien");
        break;

        default : switch(valeur) {
        case 0:printf("moyen");
        break;
        default : printf("mauvais") ;
        break;
        }
        break;
        }

        @+