[C] wczytywanie liczby za pomocą scanf, pilne!

0

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ź!!!

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