Pražnjenje bafera nije nikakav magija, nego samo treba da pročitaš na standardni način ono što je korisnik otkucao
Code:
while (kbhit())
char ch = getchar();
Ako ne bi izvršio ovaj getchar, ili gets, ili scanf, ili šta god, onda bi ti do kraja rada programa kbhit vraćao 1.