Saisie de nombres et de caractères au clavier

NOTION DE FLUX D’ENTREE

Lorsque l’on saisit au clavier une suite de caractères terminés par « RETURN » ces caractères sont rangés dans un tampon (ou buffer) de type FIFO (First In/First Out), le dernier caractère rangé dans le tampon est LF (code ASCII 0x0A).
Cette suite de caractères est appelée flux d’entrée.
La taille du tampon dépend de la machine et du compilateur utilisés. Sur un PC et en TURBOC, la taille du tampon est de 127 caractères.
Une compilation du programme vide le tampon.

LA FONCTION SCANF DEUXIEME APPROCHE

La fonction scanf ne se comporte pas tout à fait comme décrit plus haut. Si le tampon est vide, tout se passe comme précédemment décrit.
Au contraire, si le tampon n’est pas vide, la fonction scanf en teste le premier élément, s’il correspond au format de la variable invoquée, le tampon perd cet élément et la variable en prend la valeur.
Tout caractère ou nombre saisi au clavier et non pris en compte par la fonction scanf est rangé dans le tampon.

Exemple et Exercice II-4:

#include <stdio.h>
#include <conio.h>
void main()
{
char c1,c2;
printf(« ENTRER UN CARACTERE: « );
scanf(« %c »,&c1);
printf(« VOICI SON CODE ASCII EN HEXADECIMAL: %x\n »,c1);
printf(« ENTRER UN AUTRE CARACTERE: « );
scanf(« %c »,&c2);
printf(« VOICI SON CODE ASCII EN HEXADECIMAL: %x\n »,c2);
printf(« POUR CONTINUER FRAPPER UNE TOUCHE « );
getch();
}
Si l’utilisateur saisit K pour c1, le programme donnera l’écran d’exécution suivant:
ENTRER UN CARACTERE: K
VOICI SON CODE ASCII EN HEXADECIMAL: 4b
ENTRER UN AUTRE CARACTERE: VOICI SON CODE ASCII EN HEXADECIMAL: a

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Saisie de nombres et de caractères au clavier (120 KO) (Cours PDF)
Saisie de nombres et de caractères au clavier

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *