Probabilmente c'è il solito problema del buffer pieno al ritorno di una delle funzioni eseguite.

Prova ad inserire dopo lo switch una

while (getchar() != '\n');