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

phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012 - 3 nov. 2005 à 09:55
phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012 - 3 nov. 2005 à 11:39
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 nov. 2005 à 10:16
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++
0
phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
3 nov. 2005 à 10:40
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'?????
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 nov. 2005 à 10:54
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++
0
phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
3 nov. 2005 à 10:56
tu veut dire mettre un break a la fin de chaque instruction?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 nov. 2005 à 11:03
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++
0
phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
3 nov. 2005 à 11:05
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?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 nov. 2005 à 11:23
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++
0
phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
3 nov. 2005 à 11:39
ok, merci, je croyais que le break faisait sortir du prog.
0
Rejoignez-nous