Pb de switch, certainement tout bête mais....

Signaler
Messages postés
709
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012
-
Messages postés
709
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012
-
bonjour,



j'ai un switch avec cette structure:



GO:

switch(car)

{

case'1': ---------------------

---------------------

goto GO;

case'2': ---------------------

---------------------


goto GO;



switch(car2)

{


case'a': ------------------



-----------------



goto GO;


case'b': -----------------



-----------------


goto GO;

}

case'3': -------------------

case'4': -------------------

}



alors en fait, quand le tape '2', je rentre bien dans le second switch,
mais là quand je clique sur 'a' ou'v', il me revoie tout de suite au
switch(car) sans me lire les isntruction. Pourquoi?

8 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
dans 'case 2' je vois 'goto GO' avant 'case 'a', il ne risque donc jamais d'y entrer, non ?

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
709
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012

alors, j'ai enlevé tout les GOTO pour voir ca, et mainteenant , quand
je choisi case 'a' ou case'b', il me renvoie tout de suite à case
'2'?????
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
case Const1:
// traitements ici
break; // SORTIE de Const1
case Const2:
// traitements ici
break; // SORTIE de Const2
etc....

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
709
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012

tu veut dire mettre un break a la fin de chaque instruction?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
SUR !!! à moins que tu ne veuilles entrer dans la condition suivante, ça peut se comprendre parfois mais il faut l'avoir décidé. Dans tous les cas, en C le compilo insère l'instruction qui suit s'il n'y a rien qui indique explicitement un saut de code, voilà pourquoi tu dois mettre un break pour sortir.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
709
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012

ok, mais après que l'instruction a été effectué, il y d'autres instrucions a faire...alor si je fait un break; ca n'ra pas, si?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
dépend où va le break, il sort simplement du switch, à toi de voir ce qu'il y a sous ce switch.
Si certains 'case' nécessitent d'aller ailleurs que dessous le switch alors mets un goto pour ceux la, il n'y a que toi qui sache ce que ton prog doit faire.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
709
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012

ok, merci, je croyais que le break faisait sortir du prog.