Flag à l'intérieur d'un switch
thom.deltazone
-
mikebzh Messages postés 135 Statut Membre -
mikebzh Messages postés 135 Statut Membre -
Bonjour,
Je developpe un programme en C++ avec SDL. J'ai un petit souci avec un switch. En effet je me sert d'un flag à l'intérieur d'un switch, qui va le commander. Voyez plutot le code :
int flag = 0;
switch(flag)
{
case 0 : /*!< Page d'accueil */
{
apply_surface( 0, 0, background, screen ); /*!< Affiche le fond */
if( B_Contenu.handle_events( gros_bouton ) ) flag = 1; // Bouton pour aller au case 1
if( B_PenseBete.handle_events( gros_bouton ) ) flag = 2; // Bouton pour aller au case 2 ...
if( B_ProgRepas.handle_events( gros_bouton ) ) flag = 3;
if( B_Recettes.handle_events( gros_bouton ) ) flag = 4;
if( B_Courses.handle_events( gros_bouton ) ) flag = 5;
B_Contenu.show( "Contenu", "du frigo" );
B_PenseBete.show( "Pense bete", "" );
B_ProgRepas.show( "Programmer", "un repas" );
B_Recettes.show( "Recettes", "de cuisine" );
B_Courses.show( "Courses", "en ligne" );
SDL_WM_SetCaption( "Accueil", NULL );
}break;
case 1 : /*!< Contenu du frigo */
{ ...
B_Contenu.handle_events renvoie un bool. Mon souci c'est que sur n'importe quel bouton que j'appuie, c'est toujours sur le dernier que j'ai déclaré que j'irai (ici case 5) Je m'arrache les cheveux (et j'en ai plus beaucoup) HELP !
Thom
Je developpe un programme en C++ avec SDL. J'ai un petit souci avec un switch. En effet je me sert d'un flag à l'intérieur d'un switch, qui va le commander. Voyez plutot le code :
int flag = 0;
switch(flag)
{
case 0 : /*!< Page d'accueil */
{
apply_surface( 0, 0, background, screen ); /*!< Affiche le fond */
if( B_Contenu.handle_events( gros_bouton ) ) flag = 1; // Bouton pour aller au case 1
if( B_PenseBete.handle_events( gros_bouton ) ) flag = 2; // Bouton pour aller au case 2 ...
if( B_ProgRepas.handle_events( gros_bouton ) ) flag = 3;
if( B_Recettes.handle_events( gros_bouton ) ) flag = 4;
if( B_Courses.handle_events( gros_bouton ) ) flag = 5;
B_Contenu.show( "Contenu", "du frigo" );
B_PenseBete.show( "Pense bete", "" );
B_ProgRepas.show( "Programmer", "un repas" );
B_Recettes.show( "Recettes", "de cuisine" );
B_Courses.show( "Courses", "en ligne" );
SDL_WM_SetCaption( "Accueil", NULL );
}break;
case 1 : /*!< Contenu du frigo */
{ ...
B_Contenu.handle_events renvoie un bool. Mon souci c'est que sur n'importe quel bouton que j'appuie, c'est toujours sur le dernier que j'ai déclaré que j'irai (ici case 5) Je m'arrache les cheveux (et j'en ai plus beaucoup) HELP !
Thom
A voir également:
- Flag à l'intérieur d'un switch
- Android switch - Accueil - Android
- Télécharger simulateur de peinture intérieur gratuit - Télécharger - Divers Photo & Graphisme
- Smart switch pc - Télécharger - Divers Bureautique
- Switch 2 - Accueil - Jeu vidéo
- Switch off - Télécharger - Divers Utilitaires
1 réponse
Coucou,
Bizarre le fait de gérer un pseudo-menu dans le switch mais bon pourquoi pas ?
La logique serait sans doute de faire un truc du style
[code]
do
{
// page d'acceuil
// apply....
// choix bouton
//flag 1 ...... 5
switch(flag)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
} while (flag != 0); //condition de fin 0 ou menu 5 etc...
//------------------------------------------------
ou alors
} while (flag == 1 || flag == 2 || flag == 3 ....)
ou encore
} while (sortie == true) // rajout d'une variable sortie dans le switch
[\code]
Qu'en penses-tu ?
Bizarre le fait de gérer un pseudo-menu dans le switch mais bon pourquoi pas ?
La logique serait sans doute de faire un truc du style
[code]
do
{
// page d'acceuil
// apply....
// choix bouton
//flag 1 ...... 5
switch(flag)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
} while (flag != 0); //condition de fin 0 ou menu 5 etc...
//------------------------------------------------
ou alors
} while (flag == 1 || flag == 2 || flag == 3 ....)
ou encore
} while (sortie == true) // rajout d'une variable sortie dans le switch
[\code]
Qu'en penses-tu ?