Scusa, mi pare ovvio che questa

time_t inizio = time(NULL);

la devi spostare DOPO l'input da tastiera !

Per generare un file, non sai come si scrive su file di testo? Mi sembra impossibile ...