La fonction switch en language c

virus59300 Messages postés 66 Statut Membre -  
 Utilisateur anonyme -
Bonjour,
je voudrais réaliser un programme qui affiche un menu sair 3 nb,faire l'addition,faire multiplication.
j'arrive a concevoir le programme,mais le probleme est que une fois qu les 3 nb sont saisi je voudrais que le menu se raffiche puis selon l'option chois i il l'exiqste ,c'est en quoi je n'arrive pas !
can you help me ?
merci
Configuration: Windows Vista
Internet Explorer 7.0

34 réponses

  • 1
  • 2
  1. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    par exemple voici comment un switch se fait

    switch(choix_menu) {

    case 1: instruction1;
    break;
    case 2: instruction3;
    break;
    case 3: instruction3;
    break;
    default:
    printf("vous n'aez pas selectionner un menu qui existe ");
    }
    9
  2. Utilisateur anonyme
     
    c t pas pour les ; que je regarde dans mes cours mais pour le reste de la syntaxe, si dev cpp dit erreur alors j admets ma faute ;)

    essayes
    main ()
    {
    int d ;
    int e;
    int f;
    int c;
    int o;

    switch(menu2(c))
    {
    case 1: saisir(&d,&e,&f);
    break;

    case 2 : afficher(&d,&e,&f);
    printf("les nombres saisi sont : %d %d %d \n",d,e,f);
    printf("\n");
    break;

    case 3 : printf("la somme des 3 nombres vaut : %d \n",somme(d,e,f));
    printf("\n");
    break;

    case 4 : printf("la multiplication des 3 nombres vaut : %d \n",multiplication(d,e,f));
    printf("\n");
    break;

    case 5 : printf("vous voulez sortir \n") ;
    break;

    }
    }
    5
  3. virus59300 Messages postés 66 Statut Membre 5
     
    #include<stdio.h>
    #include<stdlib.h>

    int menu(int c)
    {

    int choix;
    while(choix <1 || choix >5 )
    {
    printf("Menu :\n");
    printf("1 : Saisir 3 reels\n");
    printf("2 : Afficher les 3 reels\n");
    printf("3 : Faire somme des 3 reels\n");
    printf("4 : Faire multiplication des 3 reels\n");
    printf("5 : Sortir \n");
    printf("Votre choix ? ");
    scanf("%d", &choix);}
    return (choix);
    }

    int menu2(int c)
    {
    int choix;
    while(choix!=1)
    {

    printf("Menu :\n");
    printf("1 : Saisir 3 reels\n");
    printf("2 : Afficher les 3 reels\n");
    printf("3 : Faire somme des 3 reels\n");
    printf("4 : Faire multiplication des 3 reels\n");
    printf("5 : Sortir \n");
    printf("Votre choix ? ");
    scanf("%d", &choix);}
    return (choix);
    }

    int saisir(int *a,int *b,int *c)
    {
    int choix=1;
    printf("saisir 3 reels \n");
    scanf("%d" "%d" "%d", a , b ,c );
    return (0);
    }

    int afficher (int *a,int *b,int *c)
    {
    int choix=2;
    if(choix=2){
    printf("afficher les 3 reels saisi \n");}
    return ( 0);

    }
    int somme(int a,int b,int c)
    {
    int choix=3;
    int z=0;
    if(choix=3){
    printf("Faire somme des 3 reels\n");
    z=(a+b+c);}
    return (z);
    }

    int multiplication(int a,int b,int c)
    {
    int choix=4;
    int mu;
    if(choix=4){
    printf("Faire multiplication des 3 reels\n");
    mu=a*b*c;}
    return(mu);
    }

    main ()
    {
    int d ;
    int e;
    int f;
    int c;
    int o;

    switch(menu2(c)){
    case 1:
    saisir(&d,&e,&f);
    break;

    case 2 :

    afficher(&d,&e,&f);
    printf("les nombres saisi sont : %d %d %d \n",d,e,f);
    printf("\n"),
    break;

    case 3 :
    printf("la somme des 3 nombres vaut : %d \n",somme(d,e,f));
    printf("\n"),
    break;

    case 4 :
    printf("la multiplication des 3 nombres vaut : %d \n",multiplication(d,e,f));
    printf("\n"),
    break;

    case 5 :
    printf("vous voulez sortir \n")
    break;

    }
    3
  4. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    pour eviter que le switch fasse toute les instruction il fo metre des break a la fin de chaque instruction
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. virus59300 Messages postés 66 Statut Membre 5
     
    pas de changement, je vais manger, je re dans 15min donc si mype ou toi trouve la solution a mon probleme je l'attend
    merci beaucoup !
    1
  7. virus59300 Messages postés 66 Statut Membre 5
     
    ok merci
    1
  8. Utilisateur anonyme
     
    en fait, pour sortir tu pgm, tu fais

    case 4 : return 0; break;
    1
  9. digital-sounds
     
    BON , les accolades { sont obligatoires dans l'utilisation de la fonction switch ! et terminer toujour les caises pas bREAK ----
    1
  10. Utilisateur anonyme
     
    il y a sa, mais peux tu etre un peu plus claire ?
    0
  11. Utilisateur anonyme
     
    ....merci....ce que je te demande, c est ce que tu veux exactement, je ne comprends pas ce que tu veux ;)
    0
  12. virus59300 Messages postés 66 Statut Membre 5
     
    j'ai mis les break mais il met fait toute les instruction !
    0
  13. Utilisateur anonyme
     
    normal c est sa la syntaxe :
    switch(choix_menu) {

    case 1: instruction1 ,break;
    case 2: instruction3,break;
    case 3: instruction3, break;
    default:
    printf("vous n'aez pas selectionner un menu qui existe ");
    }

    avec des , pas de ; entre instruction et break
    0
  14. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    fait un cc de ton programme pour voir stp
    0
  15. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    non c'est bien des ";" et pas des ","

    chez moi sa marche
    0
  16. Utilisateur anonyme
     
    je te le redis, avant le break c est des , et non de ;
    0
  17. virus59300 Messages postés 66 Statut Membre 5
     
    wé je sais c'est des ; mais sa ne marche pas !!
    0
  18. Utilisateur anonyme
     
    le ";" te dis la fin de l instruction, donc le breack est une instruction a parts sans case et ne sert donc a rien. essayes avec des , tu verras^^

    pour une meilleur lisibilitée, met tes break a la suite de l instruction
    0
  19. virus59300 Messages postés 66 Statut Membre 5
     
    sa met des erreur le prog dit qu'il s'atten a des ; et non des , !!
    0
  20. Utilisateur anonyme
     
    c est chelou....et remets des ; mais avec les break a la fin de l instruction (on sait jamais avec ces logi xd)
    0
  21. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    je le repete nagashima c'est des ";" ...
    0
  • 1
  • 2