Problème de lecture au clavier en C
Fermé
Yakurena
Messages postés
47
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
1 juillet 2007
-
15 juil. 2005 à 22:56
Cmanu - 10 oct. 2008 à 12:59
Cmanu - 10 oct. 2008 à 12:59
A voir également:
- Problème de lecture au clavier en C
- Changer clavier qwerty en azerty - Guide
- Confirmation de lecture whatsapp - Guide
- Telecharger clavier arabe تنزيل لوحة المفاتيح العربية - Télécharger - Divers Web & Internet
- Accusé de lecture gmail - Guide
- Comment taper / sur clavier - Guide
5 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
15 juil. 2005 à 23:41
15 juil. 2005 à 23:41
Salut,
#include<stdio.h> main() { int entier; do { printf("Entrez un entier (0 pour arreter) : "); scanf("%d",&entier); printf("entier = %d\n",entier); } while(entier != 0); }
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
18 juil. 2005 à 01:25
18 juil. 2005 à 01:25
man scanf SYNOPSIS #include <stdio.h> int scanf(const char *format, ...); int fscanf(FILE *stream, const char *format, ...); [...] RETURN VALUE These functions return the number of input items assigned, which can be fewer than provided for, or even zero, in the event of a matching failure. Zero indicates that, while there was input available, no conversions were assigned; typically this is due to an invalid input character, such as an alphabetic character for a `%d' conversion. The value EOF is returned if an input failure occurs before any conver- sion such as an end-of-file occurs. If an error or end-of-file occurs after conver- sion has begun, the number of conversions which were successfully completed is returned.
Bonne chance ;)
Canard007
Messages postés
5929
Date d'inscription
mercredi 26 mai 2004
Statut
Contributeur
Dernière intervention
18 septembre 2009
215
18 juil. 2005 à 09:41
18 juil. 2005 à 09:41
je te conseil:
1 de ne pas faire une saisie d'entier directement mais de recuperer le resultat sous forme de charactere et ensuite de tester si c'est bien un entier puis le convertir en entier.
2 de vider ton buffer de clavier avec la commande fflush
1 de ne pas faire une saisie d'entier directement mais de recuperer le resultat sous forme de charactere et ensuite de tester si c'est bien un entier puis le convertir en entier.
2 de vider ton buffer de clavier avec la commande fflush
ce normal que vous tombait dans un boucle infinit car votre condition d'arrét(while(entier)) est fausse éssayé de nouveau avec ces instruction :
do
....
while(entier=0)
// bon chance
do
....
while(entier=0)
// bon chance
Canard007
Messages postés
5929
Date d'inscription
mercredi 26 mai 2004
Statut
Contributeur
Dernière intervention
18 septembre 2009
215
18 juil. 2005 à 12:49
18 juil. 2005 à 12:49
la condition est bonne puisqu'il s'agit bien de boucler tant que la valeur n'est pas 0.
de plus
entier=0 est une affectation et non pas une condition...resultat boucle infinie.
de plus
entier=0 est une affectation et non pas une condition...resultat boucle infinie.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question