Posez votre question Signaler

La fonction switch en language c

virus59300 65Messages postés jeudi 1 novembre 2007Date d'inscription 15 mai 2009Dernière intervention - Dernière réponse le 5 janv. 2009 à 11:54
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
Lire la suite 
Réponse
+7
moins plus
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 ");
}
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+5
moins plus
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;

}
}
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+2
moins plus
#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;

}
Ajouter un commentaire
Réponse
+1
moins plus
pour eviter que le switch fasse toute les instruction il fo metre des break a la fin de chaque instruction
Ajouter un commentaire
Réponse
+1
moins plus
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 !
Ajouter un commentaire
Réponse
+1
moins plus
ok merci
Ajouter un commentaire
Réponse
+1
moins plus
en fait, pour sortir tu pgm, tu fais

case 4 : return 0; break;
Ajouter un commentaire
Réponse
+1
moins plus
BON , les accolades { sont obligatoires dans l'utilisation de la fonction switch ! et terminer toujour les caises pas bREAK ----
Ajouter un commentaire
Réponse
+0
moins plus
il y a sa, mais peux tu etre un peu plus claire ?
Ajouter un commentaire
Réponse
+0
moins plus
....merci....ce que je te demande, c est ce que tu veux exactement, je ne comprends pas ce que tu veux ;)
Ajouter un commentaire
Réponse
+0
moins plus
j'ai mis les break mais il met fait toute les instruction !
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
fait un cc de ton programme pour voir stp
Ajouter un commentaire
Réponse
+0
moins plus
non c'est bien des ";" et pas des ","

chez moi sa marche
Ajouter un commentaire
Réponse
+0
moins plus
je te le redis, avant le break c est des , et non de ;
Ajouter un commentaire
Réponse
+0
moins plus
wé je sais c'est des ; mais sa ne marche pas !!
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
sa met des erreur le prog dit qu'il s'atten a des ; et non des , !!
Ajouter un commentaire
Réponse
+0
moins plus
c est chelou....et remets des ; mais avec les break a la fin de l instruction (on sait jamais avec ces logi xd)
Ajouter un commentaire
Réponse
+0
moins plus
je le repete nagashima c'est des ";" ...
Ajouter un commentaire
Ce document intitulé «  la fonction switch en language c  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.