Problème d'affichage
Résolu/Fermé
milexarc
Messages postés
92
Date d'inscription
lundi 25 février 2013
Statut
Membre
Dernière intervention
2 décembre 2016
-
3 déc. 2014 à 19:13
milexarc Messages postés 92 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 2 décembre 2016 - 3 déc. 2014 à 22:44
milexarc Messages postés 92 Date d'inscription lundi 25 février 2013 Statut Membre Dernière intervention 2 décembre 2016 - 3 déc. 2014 à 22:44
A voir également:
- Problème d'affichage
- Affichage double ecran - Guide
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Comment agrandir l'affichage de l'écran - Guide
- Modifier taille affichage outlook - Forum Outlook
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
3 déc. 2014 à 19:54
3 déc. 2014 à 19:54
Bonjour,
Problème classique de buffer clavier.
Il faut le vider. Utilise un getchar(); après scanf("%f", quantite);
Problème classique de buffer clavier.
Il faut le vider. Utilise un getchar(); après scanf("%f", quantite);
3 déc. 2014 à 20:53
simple curiosité : à quoi sert la fonction getchar() ? et que veux dire buffer claver ?
3 déc. 2014 à 22:08
Dans ton cas, tu as fait : scanf("%f",&quantite); Lorsque l'utilisateur tape 5. Il y aura 5.0f qui ira dans la variable quantite. Et '\n' (touche entrée) qui ira dans le buffer clavier. Ensuite tu fais un scanf("%c",&reponse); La fonction lit le '\n' du buffer clavier. Donc reponse='\n'. D'où ton comportement. L'idée est donc de vider le buffer. Pour cela, il suffit d'utiliser des fonctions de lecture. Par exemple : getchar() (cela lit un caractère) récupérera le '\n'. Et tout rentre dans l'ordre.
Pour faire propre, il faudrait vider le buffer clavier avec un while((c=getchar()=!=EOF && c!='\n'); mais on ne va pas compliquer les choses ;-)
3 déc. 2014 à 22:44