Un switch dans un macro

Résolu
sarah -  
 sarah -
Bonjour,

est ce que c'est possible de mettre un switch dans un macro

si c possible, alors sera comment la syntaxe?

merci
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Tu parles de quelle langage?!
    0
    1. sarah
       
      oh, pardon

      je parle du language c

      merci
      0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,
    lami20j@debian:~/trash/ccm_c$ cat ccm57_switch.c
    /*########################################
      #### ccm56_switch.c                 ####
      ########################################*/
    
    #include<stdio.h>
    
    int main()
    {
            unsigned int mois;
            printf("Entrez le numéro de mois : ");
            scanf("%d",&mois);
            switch(mois){
                    case 1: printf("Janvier\n");break;
                    case 2: printf("Février\n");break;
                    case 3: printf("Mars\n");break;
                    case 4: printf("Avril\n");break;
                    case 5: printf("Mai\n");break;
                    case 6: printf("Juin\n");break;
                    case 7: printf("Juillet\n");break;
                    case 8: printf("Août\n");break;
                    case 9: printf("Septembre\n");break;
                    case 10: printf("Octobre\n");break;
                    case 11: printf("Novembre\n");break;
                    case 12: printf("Décembre\n");break;
                    default: printf("Mois inexistant\n");break;
            }
            return 0;
    }
    
    lami20j@debian:~/trash/ccm_c$ gcc ccm57_switch.c
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 1
    Janvier
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 2
    Février
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 3
    Mars
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 4
    Avril
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 5
    Mai
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 6
    Juin
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 7
    Juillet
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 8
    Août
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 9
    Septembre
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 10
    Octobre
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 11
    Novembre
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 12
    Décembre
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Entrez le numéro de mois : 0
    Mois inexistant
    0
  3. sarah
     
    merci mais je parle pas de ça,
    je veux programmer un switch dans un macro,
    genre
    #define( x) switch (x).........

    est ce que c possible, si wi sera comment la syntaxe?
    merci
    0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,
    comme ça?
    lami20j@debian:~/trash/ccm_c$ cat ccm58_switch.c
    /*########################################
      #### ccm56_switch.c                 ####
      ########################################*/
    
    
    #define x       switch(mois){\
            case 1: printf("Janvier\n");break;\
            case 2: printf("Février\n");break;\
            case 3: printf("Mars\n");break;\
            case 4: printf("Avril\n");break;\
            case 5: printf("Mai\n");break;\
            case 6: printf("Juin\n");break;\
            case 7: printf("Juillet\n");break;\
            case 8: printf("Août\n");break;\
            case 9: printf("Septembre\n");break;\
            case 10: printf("Octobre\n");break;\
            case 11: printf("Novembre\n");break;\
            case 12: printf("Décembre\n");break;\
            default: printf("Mois inexistant\n");break;\
    }
    
    #include<stdio.h>
    
    int main()
    {
            int unsigned mois;
            printf("Mois? ");
            scanf("%d",&mois);
            x;
            return 0;
    }
    lami20j@debian:~/trash/ccm_c$ gcc ccm58_switch.c
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Mois? 1
    Janvier
    lami20j@debian:~/trash/ccm_c$ ./a.out
    Mois? 0
    Mois inexistant
    lami20j@debian:~/tr
    0
    1. sarah
       
      oooook thanks
      0