Switch (variable) case en C

wachbaik Messages postés 60 Statut Membre -  
marven23 Messages postés 76 Statut Membre -
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. marven23 Messages postés 76 Statut Membre 2
     
    Salut,

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

    @+
    0
    1. wachbaik Messages postés 60 Statut Membre
       
      conclusion je ne peux faire ça qu'avec if / else if / else ???
      0
  2. marven23 Messages postés 76 Statut Membre 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

    @+
    0
  3. skuti Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   2
     
    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;
    }
    
    0
  4. marven23 Messages postés 76 Statut Membre 2
     
    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;
    }

    @+
    0