Próbowałem zabezpieczyć poniższy fragment kodu przed błędnym wprowadzaniem wartości jednak program dalej nie działa przy wczytywaniu wartości niecałkowitych rozpoczynających się na 1 lub 2.
int w, m;
printf("Wybierz 1 aby wygenerowac nowy sygnal lub 2 aby wczytac sygnal z pliku.\n");
do
{
m = 0;
if (scanf("%d", &w) != 1)
{
m = 1;
while (getchar() != '\n') {}
printf("WYBIERZ JEDNA Z PODANYCH OPCJI\n");
continue;
}
switch (w)
{
case 1:
probki();
wspolczynniki(l);
dziedzina();
przebieg_funkcji();
break;
case 2:
plik_rozmiar();
plik_odczyt();
break;
default:
m = 1;
printf("WYBIERZ JEDNA Z PODANYCH OPCJI\n");
}
} while (m == 1);