Hej :). Mam taki problem.
Otóż posiadam taki kod (przykładowy):
do
{
clrscr();
printf("1 Jeden\n");
printf("2 Dwa\n");
printf("3 Trzy\n");
printf("4 Cztery\n\n");
printf("Twoj wybor: ");
scanf("%d", &wybor);
printf("\n\n");
switch(wybor)
{
case 1:
printf("JEDEN");
break;
case 2:
printf("DWA");
break;
case 3:
printf("TRZY");
break;
case 4:
printf("CZTERY");
break;
default:
printf("Wybierz poprawna liczbe!");
wybor = 0;
}
getch();
}while(wybor != 4);
return 0;
}
I problem tkwi w tym, ze jesli ktos sie pomyli i wpisze jakas litere, to owszem, default ze switch'a zadziala, ale gdy program powróci do menu(wyswietli je ponownie) nie chce zczytywac od nowa jaki ma być wybór tylko wpisuje sobie 0 i tak sie program zapętla.
Jest jakis sposób aby temu zapobiec? Dlaczego pomija potem scanfa tak jakby jego nie bylo?
Proszę o szybką odpowiedź!!!