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

  • Votes
  • Date
  • Date décroissante
  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;
    }

    @+
    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. 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. 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 ???