Quote Originariamente inviata da oregon Visualizza il messaggio
Non puoi aprire il file sia in append che in lettura.

Aprilo prima in lettura, fuori dal ciclo, e nel ciclo fai la ricerca leggendo dal primo all'ultimo libro.

Se non l'hai trovato, alla fine del ciclo, apri il file in append e lo aggiungi, altrimenti visualizza un messaggio d'errore.
Ciao, ho fatto come mi hai detto, però il mio problema non sembra risolto.
Ho aperto il programma, inserito un libro dal titolo(lun) e dall'autore (nov) e mi dava già errore dicendo che era già presente questo libro, cosa non vera essendo il primo inserito e il file era vuoto.
Dopo ho riaperto ho inserito il secondo libro dal titolo "mart" e questo è quello che è successo:
Cattura.JPG

ti riporto il codice modificato, non so davvero più che fare, ho provato a fare modifiche però niente, scusami il disturbo



codice:
int nuovo ()
{
	libro l;
	ifstream leggi;
	leggi.open("a.txt");
	
	leggi>>l.titolo;
	leggi>>l.autore;
	
	for(int i=0; i<3; i++)
	{
	
	string nuovo="";
	cout<<"\nInserire Titolo, per verificare se presente:";
	cin>>nuovo;
	
	while(!leggi.eof())
	{
		
		leggi>>l.titolo;
		leggi>>l.autore;
		
		if(nuovo!=l.titolo)
		{
			ofstream salva;
			salva.open("a.txt",ios::app);
			
			l.titolo=nuovo;
			cout<<"\nAutore:";
			cin>>l.autore;
			cout<<"\n------------------------\n";
			
			salva<<l.titolo<<endl;
			salva<<l.autore<<endl;
			
			salva.close();
		}
		else
		{
			cout<<"\nERRORE! FILE GIA' PRESENTE!!\n";
			return 0;
		}
	}
	}
	leggi.close();
}