[c++] Evènement clavier
Résolu
Metaphysik
-
Metaphysik -
Metaphysik -
Bonjour à tous,
J'ai un programme qui simule des collisions entre des particules dans une enceinte fermée, et qui affiche après chaque pas de temps les caractéristiques de ces particules (vitesse, masse, position, etc) avec une boucle
while( pas_de_temps < 1000) {
. ...
pas_de_temps++;
};
Ce que j'aimerais, c'est de pouvoir mettre ce système en pause (interrompre momentanément la boucle) grace à une touche de clavier (par ex. 'p'), puis reprendre la boucle comme si de rien n'était (toujours en reappuyant sur 'p').
Je pense à une fonction qui réagirait à une certaine touche du clavier et qui ferait "system("pause")", mais je ne sais pas si c'est possible.
Quelqu'un saurait-il comment je pourrais faire?
Merci pour vos suggestions.
J'ai un programme qui simule des collisions entre des particules dans une enceinte fermée, et qui affiche après chaque pas de temps les caractéristiques de ces particules (vitesse, masse, position, etc) avec une boucle
while( pas_de_temps < 1000) {
. ...
pas_de_temps++;
};
Ce que j'aimerais, c'est de pouvoir mettre ce système en pause (interrompre momentanément la boucle) grace à une touche de clavier (par ex. 'p'), puis reprendre la boucle comme si de rien n'était (toujours en reappuyant sur 'p').
Je pense à une fonction qui réagirait à une certaine touche du clavier et qui ferait "system("pause")", mais je ne sais pas si c'est possible.
Quelqu'un saurait-il comment je pourrais faire?
Merci pour vos suggestions.
A voir également:
- [c++] Evènement clavier
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Comment taper / sur clavier - Guide
- Clavier de l'ordinateur - Guide
- Clavier iphone chiffre et lettre - Guide
- Changer clavier qwerty en azerty - Guide
2 réponses
Salut
Tu peux utiliser la fonction kbhit() qui permet de savoir si une touche est disponible dans le buffer.
Ca devrait marcher, après il y aura peut-être des problèmes avec l'utilisation de getchar().
Tiens moi au courant.
Bonne chance
Tu peux utiliser la fonction kbhit() qui permet de savoir si une touche est disponible dans le buffer.
while( pas_de_temps < 1000) { if(kbhit()) if (getchar()=='p') while(getchar()!='p'); pas_de_temps++; };
Ca devrait marcher, après il y aura peut-être des problèmes avec l'utilisation de getchar().
Tiens moi au courant.
Bonne chance