Al posto della system("pause") potresti mettere una semplice getchar() di cui non prendi il valore:
Invece di fare una chiamata di sistema che tra l' altro è dispendiosa.codice:printf("Programma terminato, premere invio per continuare\n"); getchar();
Comunque penso che si dovrebbe mettere un thread permanente che spiega come risolvere questo problema del buffer, è una cosa controintuitiva per il programmatore alle prime armi.