1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| #include <stdio.h>
/* -tc- Permet de purger le contenu du tampon du flux d'entree standard */
void purge(void)
{
int c;
while ((c = fgetc(stdin)) != '\n' && c != EOF)
{
}
}
/* -tc- main() retourne un entier de type int, toujours! */
int main(void)
{
/* -tc- C'est une preference personnelle, mais je trouve plus clair de
definir une variable par ligne. Par ailleurs, les identificateurs
en majuscules sont, par convension, reserves aux constantes. */
int jour;
int mois;
int annee;
int recu;
printf("Introduisez la date (JOUR, MOIS, ANNEE) : ");
/* -tc- Il est necessaire de faire appel a fflush() pour forcer l'affichage
lorsque l'invite ne se termine pas par un caractere de fin de ligne. */
fflush(stdout);
recu = scanf("%d,%d,%d", &jour, &mois, &annee);
/* -tc- Il est necessaire de purger ici le tampon du flux d'entree standard
qui contient encore au minimum le caractere de fin de ligne provenant
de la validation de l'entree a l'aide de la touche ENTER du clavier. */
purge();
if (recu == 3)
{
printf("donnees recues : %d\njour : %d\nmois : %d\nannee : %i\n",
recu, jour, mois, annee);
}
else
{
fprintf(stderr, "Erreur durant la saisie!\n");
}
return 0;
} |
Partager