Switch ... case

Signaler
Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
-
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
-
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!

4 réponses

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
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;
}
Messages postés
249
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
7 août 2003
1
-------------------------------
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!
>
Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007

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!
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

ne pas oublier : default break; ça peut parfois te sauver la vie ;-)