Switch ... case

Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
- - Dernière réponse : cmarsc
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
- 20 janv. 2003 à 08:14
J'ai un problème est mon case:

int n=App->run;

// dépendant de la partie du programme en cours
switch(n);
{
case 1: // intro
{
App->BmpDeFond = App->LoadBmp(App->BmpDeFond, "Intro.bmp");
App->DrawBmp(App->BmpDeFond,0,0);
Sleep(3000);
geEngine_EndFrame(App->Engine);
App->run=2; // passe à la partie 2: le menu!
break;
case 2:
break;
}

le compilateur me mets par 2 fois "illegal case" et "illegal break". Qqn a une idée? merci d'avance!
Afficher la suite 

4 réponses

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
7
0
Merci
OUI,
le problème est sur l'instruction switch
évite le point virgule à cet endroit

de plus , le bloc interne me parait inutile

#include

int main()
{ int n=2;

switch(n)
{
case 1: // intro
cout << 1 << endl;
break;
case 2:
cout << 2 << endl;
break;
}
return 0;
}
Commenter la réponse de cs_vieuxLion
Messages postés
249
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
7 août 2003
1
0
Merci
-------------------------------
Réponse au message :
didrock >> Dans ton code source tu oublies aussi de fermer une accolade. Et comme le dit vieux lion il est inutil. Mais moi je le trouve surtout très mal placé car elles englobent 2 case en même temps. En indentant bien tes case tu peux te passer d'accolades.
-------------------------------

> OUI,
> le problème est sur l'instruction switch
> évite le point virgule à cet endroit
>
> de plus , le bloc interne me parait inutile
>
> #include
>
> int main()
> { int n=2;
>
> switch(n)
> {
> case 1: // intro
> cout << 1 << endl;
> break;
> case 2:
> cout << 2 << endl;
> break;
> }
> return 0;
> }
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > J'ai un problème est mon case:
> >
> > int n=App->run;
> >
> > // dépendant de la partie du programme en cours
> > switch(n);
> > {
> > case 1: // intro
> > {
> > App->BmpDeFond = App->LoadBmp(App->BmpDeFond, "Intro.bmp");
> > App->DrawBmp(App->BmpDeFond,0,0);
> > Sleep(3000);
> > geEngine_EndFrame(App->Engine);
> > App->run=2; // passe à la partie 2: le menu!
> > break;
> > case 2:
> > break;
> > }
> >
> > le compilateur me mets par 2 fois "illegal case" et "illegal break". Qqn a une idée? merci d'avance!
>
Commenter la réponse de trinitacs
Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
0
Merci
Oui oui, mais j'ai fait une erreur en recopiant mon code ic (j'en ai enlevé quelques parties) et donc j'avais en même temps refermé l'accolade. L'erreur venait donc bien du ; rajouté après switch! Merci à vous 2!
Commenter la réponse de didrocks
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
0
Merci
ne pas oublier : default break; ça peut parfois te sauver la vie ;-)
Commenter la réponse de cmarsc