L'ho compilato con vc6 e funziona benissimo.

se infatti noti o tolto le linee printf e ho aggiunto cout, che comunque era uguale.
Ma la cosa che non mi funzionava erano le due chiamate di funzioni in cui mi dava l'errore su salvaconome e apri.
per questo motivo ho dovuto scrivere queste due righe che mi referenziano le due chiamata
e al primo colpo ha funzionato tutto okay

void salvaconome(char *nomefiles, char *testo);
void apri(char *cosa);

in questo modo l'errore del menù 2 che hai postato non l'ho fà......