Comment feriez-vous cela en C ++? Par exemple, j'essaie de déclencher une sortie de programme si l'utilisateur appuie sur Echap ou 'Q' ou 'Q' ou 'Q'.
J'ai essayé de la chercher, mais je n'ai trouvé aucune syntaxe à C ++. Je sais comment le faire avec si, sinon, mais est-il possible d'un cas de commutation? Bien sûr, je peux simplement faire une fonction et l'appeler à partir de deux cas séparés, mais existe-t-il un moyen de le faire juste par une déclaration combinée de cas? P>
Par exemple, c'est ce que je cherche (bien sûr pas Travailler): P>
void keyboard( unsigned char key, int x, int y ) { switch( key ) { case ( 27 || 'q' || 'Q' ): exit( 0 ); break; case 'a': ... case 'b': ... } }
4 Réponses :
Les cas tombent sans pause:
Darn c'est totalement à "pause" lorsque la nouvelle notification de réponse est arrivée
Et TOUJOURS I> Mettez des commentaires disant que la franchise est délibérée et pourquoi.
@MOOINGDUCK, bon point. Pour d'autres personnes, il pourrait ressembler à vous laisser accidentellement une déclaration de pause, et si vous ne l'avez pas pu, cela pourrait se révéler moins que-joli.
@MOOINGDUCK CLANG a [[CLANG :: FALLTHROUGH]] CODE> < / a>, qui pourrait être intéressant aussi.
@MOOINGDUCK Alternativement, cela pourrait introduire des commentaires excessifs. Je ne le commenterais pas personnellement. Si quelqu'un ne comprend pas pourquoi il est là, il ne comprendrait probablement pas le logiciel développé et ne devrait pas toucher le code de toute façon.
Je crois que c'est juste
switch(key){ case 'a': case 'b': /*code*/ break; ...
void keyboard( unsigned char key, int x, int y ) { switch( key ) { case 027: case 'q': case 'Q': exit( 0 ); break; case 'a': ... case 'b': ... } }
Attention - 027 code> et
27 code> n'est pas identique. Le premier
0 code> in
027 code> est le préfixe pour un littéral octal, donc
027 code>! =
27 code>.
La syntaxe devient
Vous pouvez simplifier votre code> instruction code> à l'aide de
tolower code> ou
TOUPPER code>.