Kontrola danych w C

0

Prosze o pomoc. Jestem początkująca.
Mam napisac program ktory prosi uzytkownika o podanie liczby naturalnej a potem entera. No i zrobilam sobie tak, ale jezeli np wpisze 0.9 to koncowka ta jest w buforze i petla zle działa...co tu zrobic? :)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int a;
printf("Podaj liczbe natu\n");

while(!(scanf("%d",&a)==1&&getchar()=='\n'))
{
printf("Popraw sie\n");

                                         }
                                         
                                         
                                         

printf("ok\n");

system("pause");
return 0;
}

0

To powinno Ci pomóc: Zabezpieczenie przed wpisywaniem liter

0

0.9 to liczba typu double (nie int) w scanf'ie odpowiedni format %lf lub %f w zależności od kompilatora.

1 użytkowników online, w tym zalogowanych: 0, gości: 1