penso che abbia in memoria '\n' che rimane dalla volta precedente che hai schiacciato invio....
prova a mettere un getc() prima del do{}

ma non sono molto sicuro, anch'io da win usavo fflush....