non ho capito la linea /*Oppure usa fflush(stdin)*/

e comunque.. il problema l'ho risolto.. ora funziona.. quello che chiedo è perchè la prima funzione postata non funziona.. e come si può modificarla (se si può) per farla funzionare (modificarla, non scriverne un'altra)..