Saisie clavier - C++ (code::blocks)
Résolu
Zero-One
Messages postés
303
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je débute en C et je suis en train de faire un petit programme qui regroupe des instructions et fonction que j'ai vue et appris (comme un récapitulatif), alors mon problème, je cherche une fonction qui stop le programme et qui attend la saisie d'une touche au clavier.
par exemple demander a l'utilisateur d'appuyer sur "a" pour continuer (sans validation par entrer).
Merci
--
Tout n'est que Zero et Un
Je débute en C et je suis en train de faire un petit programme qui regroupe des instructions et fonction que j'ai vue et appris (comme un récapitulatif), alors mon problème, je cherche une fonction qui stop le programme et qui attend la saisie d'une touche au clavier.
par exemple demander a l'utilisateur d'appuyer sur "a" pour continuer (sans validation par entrer).
Merci
--
Tout n'est que Zero et Un
8 réponses
-
re:
j y suis j'ai trouvé
voila un exemple :
//-------------------------------------------------------------------------
#include <iostream>
#include <conio.h> //la bibliothèque de getch()
using namespace std;
int main()
{
char c; //variable caractère
cout<<"Appuyer sur ""q"" pour quitter"<<endl;
while (c!='q') //tant que c est différent de q on boucle
{
c=getch(); //affecter une touche a c
}
return 0;
}
//----------------------------------------------------------------------------------
Salut,
A noter que :
il vaut mieux utiliser _getch que getch et q
et il vaut mieux utiliser do while ou alors penser à initialiser la variable c.
Mais sinon, c'est correct malgrés la non-portabilité.
Cdlt- J'ai essayé avec _getch() je ne vois pas de différence avec getch() mais bon puisque vous l'dites j'utiliserai _getch().
Et parlant de portabilité ça serait mieux que j'utilise des fonctions et instructions plus portable, alors si vous avez mieux je suis preneur.
Disant que pour _getch() c'est réglé, a présent je cherche un CLS (effacer l'écran).
évitez : system("cls");
On m'a déjà proposé Clrscr(); de <conio.h> mais elle n'est pas reconnue ou bien je n'est pas su l'utiliser, alors ça serait bien que vous m'aidiez.
Merci
-
-
-
Bonjour, heu moi je vois ca avec une boucle while:
char caract = 0; while ( caract != 'a' ) //Tant que le caractere tapé au clavier est différent de celui demandé, on boucle. { cout << "Appuyez sur la touche ""a"" pour continuer: " << endl; cin >> caract; }
jspr que ca ira-
Merci pour ta réponse j'ai essayer le code, mais cela n'a pas l'effet que je voulais, dans ton code on doit tout jours valider le "a" saisie, moi je veux que sa face effet comme par exemple dans le BASIC :
DO:LOOP UNTIL INKEY$<>"" ' boucler jusqu'à ce qu'une touche soit frapper
ou bien dans PASCAL :
REPEAT
..
..
UNTIL KEYPRESSED;
-
-
Heu en C, il peut y avoir les fonction kbhit() ou encore getch() qui je pense corresondrait dans ton cas.
Getch() attend qu'une touche soit frappée au clavier.
Après tu la gère comme tu veux, dans une boucle ou directement dans ton programme principal.
Tiens moi au courant -
il reconnait pas Getch() et kbhit() peut être je dois ajouter une bibliothèque...
mais j'ai trouvé getchar() malheureusement ça n'a pas donné les résultats attendues
je cherche tt jour. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour
Oui excuse moi j'avais oublié de préciser la bibliothèque :s. Enfin tu l'a trouvé toi même donc tant mieux :).
Bonne continuation -
Re,
Moi je ne vois que system("cls"), après je pense u'l faudrait que tu code une fonction qui fasse celà.
Sinon regarde ici => https://forums.commentcamarche.net/forum/affich-6219-effacer-un-ecran-en-c -
Effectivement, utiliser system(), ce n'est pas très C...
Pour effacer l'écran, il suffit d'utiliser une API. C'est plus compliqué, mais c'est beaucoup mieux.
Voici un petit lien : https://c.developpez.com/faq/?page=Gestion-du-clavier-et-de-l-ecran-en-mode-console#CONS_clear_screen
Cdlt -
Pour KiraX10A , dans le dernier poste du lien que tu as donné, il y a une fonction :
Le prog se lance sans erreur mais la fonction ne donne aucun résultat (EffaceEcranTxt).
Mais merci quand-même.
Merci aussi a fiddy, MAIS (tt jour le mais qui fait peur).
Le prog se lance avec une erreur sur la ligne ou y a écris : CONSOLE_CONS_BUFFER_INFO Info;
L'erreur dit que CONSOLE_CONS_BUFFER_INFO n'a pas été déclaré.