Appuyez sur une touche pour continuer ... [Résolu]

Signaler
Messages postés
23
Date d'inscription
mercredi 19 mars 2008
Statut
Membre
Dernière intervention
20 juin 2008
-
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009
-
Bonjour, je cherche juste une fonction qui permettrait juste au programme de continuer si on appuye sur une touche quelconque (genre comme la fonction system("PAUSE") ; pour quittez le programme) ou avec un champ plus restreint : seulement les touches 'a', 'z' ou 'e' permettront au programme de continuer.

Sinon j'ai entendu plusieurs formes de cin (cin.getch(); , etc) mais je ne l'ai pas étudié. Si vous avez des informations sur ces fonctions, merci de m'en dire plus.

A bientôt.

4 réponses

Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009

Bonsoir,

Voilà une petite fonction qui ne rendra la main que si on appuie sur a, e ou z (minuscule ou majuscule). Le caractère saisi est converti en minuscule et est retourné pour que la fonction appelante sache ce qui a été saisi :

char Pause_aez(void)
{
   printf("Appuyer sur A, E ou Z pour continuer : ");
   char c = 0;
   while ((c != 'a') && (c != 'z') && (c != 'e')) c = tolower(getch());
   printf("%c\n",c);
   return c;
}

Jean-François
Messages postés
5
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
18 mai 2008

La fonction system("PAUSE"); ne quitte absolument pas le programme, et elle fait exactement ce que tu décris: elle arrete le programme jusqu'a ce que tu appuis sur une touche.
Messages postés
23
Date d'inscription
mercredi 19 mars 2008
Statut
Membre
Dernière intervention
20 juin 2008

chaipo : d'accord, erreur de ma part.

Merci Jean-François pour cette réponse (juste une petite question : j'utilise le C++, la fonction getch() est compris dans la biblio iostream ou il faut rajouter une autre biblio ?)
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009

getch() est dans conio.h
tolower() est dans stdlib.h et ctype.h

Jean-François