Tienes que vaciar el bufer de entrada despues de cada escaneo (de todos los que uses):
La fflush_stdin() simplemente descarta los caracteres de stdin, puedes encontrar por ahi mas implementaciones de esta funcion que hacen lo mismo:
Código C:
Ver originalvoid fflush_stdin() {
int c;
while((c
= getchar()) != EOF
&& c
!= '\n'); }
Saludos
vosk