Witam, mam następujący problem.
Stworzyłem mikroskopijny program, który ma za zadanie sprawdzać czy input jest liczbą, a jeśli nie - to o tym usera poinformować i wrócić do początku programu.
Oto kod:
#include <stdio.h>
#include <stdlib.h> /*for atof*/
#include <ctype.h>
int main()
{
double c, d;
printf("please enter a number\n");
c = getchar();
do {
if (isdigit(c))
printf("thanks for the number\n");
else
printf("please enter a number\n");
printf("press r to repeat\n");
fflush(stdin);
d = getchar();
} while (d == 'r');
return 0;
}
Niestety obecnie pętla robi jeden ruch i wychodzi z programu. Co mam zrobić, żeby działało?
Zauważyłem również, że po dodaniu sprawdzającego printf, aby się upewnić, że liczba jest prawidłowo odczytana, wyświetla on zupełnie inną liczbę niż ta podana...