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
| char saisie[256];
float nb;
// Prompt
printf("Entrez un nombre flottant :");
fflush(stdout);
// Saisie
fgets(saisie, 256, stdin);
// Si chaine saisie ne peut pas passer par sscanf
if (sscanf(saisie, "%f", &nb) < 1)
printf("Vous n'avez pas saisi un nombre correct\n");
else
{
char *pt;
// Recherche du point décimal
if ((pt=strchr(saisie, '.')) != NULL)
{
// Si la chaine qui suit ce point n'est pas de longueur "1"
if (strlen(pt + 1) != 1)
printf("Vous n'avez pas saisi un nombre correct\n");
else
printf("ok\n");
}
else
// Pas de point décimal
printf("ok");
} |