Ciao Oregon, alla fine il programma parte tranquillamente, scrivendo nel seguente modo, solo che non c'è quasi nessuna differenza sostanziale al primo codice. Sai per caso il motivo? Forse è qualcosa che non riesco a vedere io!
Ti scrivo solo l'int modifica(), perchè è l'unica che ho modificato!
codice:{ libro a; ifstream leggi; leggi.open("b.txt"); ofstream posizioni("posizioni.txt"); int posizione=0; string titoloCercato=""; cout<<"\nTitolo:"; cin>>titoloCercato; while(!leggi.eof()) { leggi>>a.titolo; leggi>>a.quantita; posizione++; if(a.titolo==titoloCercato) { cout<<"\nposizione"<<posizione<<endl; posizioni<<posizione<<endl; } } leggi.close(); posizioni.close(); int modificare=0; cout<<"\n posizione da modificare:"; cin>>modificare; ofstream copia("copia.txt"); leggi.open("b.txt"); for(int i=0; i<modificare-1;i++) { leggi>>a.titolo; leggi>>a.quantita; copia<<a.titolo<<endl; copia<<a.quantita<<endl; } leggi>>a.titolo; leggi>>a.quantita; int nuovo; cout<<"\nQuantita da aggiungere:"; cin>>nuovo; int pezzi=0; pezzi=nuovo+a.quantita; copia<<a.titolo<<endl; copia<<pezzi<<endl; while(!leggi.eof()) { libro a; leggi>>a.titolo; if(a.titolo!="") { leggi>>a.quantita; copia<<a.titolo<<endl; copia<<a.quantita<<endl; } } leggi.close(); copia.close(); remove("b.txt"); rename("copia.txt","b.txt"); }

Rispondi quotando