La fonction switch en language c
Fermé
virus59300
Messages postés
65
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
15 mai 2009
-
3 nov. 2007 à 17:55
Utilisateur anonyme - 5 janv. 2009 à 11:54
Utilisateur anonyme - 5 janv. 2009 à 11:54
A voir également:
- La fonction switch en language c
- Fonction si et - Guide
- Logiciel switch - Télécharger - Conversion & Extraction
- Fonction moyenne excel - Guide
- Contrôle parental switch ne bloque pas - Forum Nintendo Switch
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
34 réponses
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
3 nov. 2007 à 18:32
3 nov. 2007 à 18:32
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 ");
}
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 ");
}
Utilisateur anonyme
3 nov. 2007 à 18:52
3 nov. 2007 à 18:52
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;
}
}
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;
}
}
virus59300
Messages postés
65
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
15 mai 2009
5
3 nov. 2007 à 18:40
3 nov. 2007 à 18:40
#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;
}
#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;
}
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
3 nov. 2007 à 18:22
3 nov. 2007 à 18:22
pour eviter que le switch fasse toute les instruction il fo metre des break a la fin de chaque instruction
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
virus59300
Messages postés
65
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
15 mai 2009
5
3 nov. 2007 à 18:56
3 nov. 2007 à 18:56
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 !
merci beaucoup !
virus59300
Messages postés
65
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
15 mai 2009
5
3 nov. 2007 à 19:47
3 nov. 2007 à 19:47
ok merci
Utilisateur anonyme
3 nov. 2007 à 20:15
3 nov. 2007 à 20:15
en fait, pour sortir tu pgm, tu fais
case 4 : return 0; break;
case 4 : return 0; break;
BON , les accolades { sont obligatoires dans l'utilisation de la fonction switch ! et terminer toujour les caises pas bREAK ----
Utilisateur anonyme
3 nov. 2007 à 18:33
3 nov. 2007 à 18:33
....merci....ce que je te demande, c est ce que tu veux exactement, je ne comprends pas ce que tu veux ;)
virus59300
Messages postés
65
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
15 mai 2009
5
3 nov. 2007 à 18:35
3 nov. 2007 à 18:35
j'ai mis les break mais il met fait toute les instruction !
Utilisateur anonyme
3 nov. 2007 à 18:37
3 nov. 2007 à 18:37
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
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
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
3 nov. 2007 à 18:37
3 nov. 2007 à 18:37
fait un cc de ton programme pour voir stp
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
3 nov. 2007 à 18:40
3 nov. 2007 à 18:40
non c'est bien des ";" et pas des ","
chez moi sa marche
chez moi sa marche
virus59300
Messages postés
65
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
15 mai 2009
5
3 nov. 2007 à 18:41
3 nov. 2007 à 18:41
wé je sais c'est des ; mais sa ne marche pas !!
Utilisateur anonyme
3 nov. 2007 à 18:41
3 nov. 2007 à 18:41
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
pour une meilleur lisibilitée, met tes break a la suite de l instruction
virus59300
Messages postés
65
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
15 mai 2009
5
3 nov. 2007 à 18:43
3 nov. 2007 à 18:43
sa met des erreur le prog dit qu'il s'atten a des ; et non des , !!
Utilisateur anonyme
3 nov. 2007 à 18:45
3 nov. 2007 à 18:45
c est chelou....et remets des ; mais avec les break a la fin de l instruction (on sait jamais avec ces logi xd)
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
3 nov. 2007 à 18:45
3 nov. 2007 à 18:45
je le repete nagashima c'est des ";" ...