Non utilizzare una stringa che si chiama std perché è il nome del namespace std ed è meglio non utilizzarlo.Originariamente inviato da protest00
std è il nome di una stringa che dichiaro nella funzione al fine di uguagliarla a cognomeS nell'if.
main(); alla fine mi serve per tornare al menù una volta terminata questa funzione.
Per la ricerca, non ho ancora capito la relazione tra i dati inseriti nei due file. Mostra un esempio semplice di contenuto dei due file. In ogni caso, se leggi una volta il file nel ciclo più interno, al prossimo giro non puoi leggerlo di nuovo dall'inizio se non resetti il puntatore della lettura (oppure chiudi e riapri il file).
Infine è *sbagliatissimo* chiamare il main per tornare ad eseguirlo perché non stai eseguendo un goto ma una chiamata a funzione con impegno dello stack. E' un errore molto grave.