Buonasera ragazzi,
ho questo programma che dovrebbe inserire un tot di libri (3 per semplicità) e se esiste già il libro mi da errore. Bene il problema è che ciò non avviene. Non so dove mettere il ciclo for (penso che sia questo il problema, ma ormai ho dei dubbi su tutto). Spero che qualcuno di voi mi possa aiutare, dare una idea, qualsiasi cosa!
codice:#include<iostream> #include<fstream> #include<stdio.h> using namespace std; int acquisto(); class libro { public: int quantita; string titolo=""; string autore=""; }; int main() { int scelta; do { cout<<"1.Acquisto"; cout<<"\n2.Vendita"; cout<<"\n3.Esci"; cout<<"\nOperazione da eseguire:"; cin>>scelta; switch(scelta) { case 1: acquisto(); break; case 2: break; } system("PAUSE"); } while(scelta!=3); cout<<"\nFine!\n"; return 0; } int acquisto () { int i; libro a[3]; ofstream salva; salva.open("libro.txt",ios::app); string nuovo=""; cout<<"\nInserire titolo:"; cin>>nuovo; bool libroSi=false; ifstream leggi; leggi.open("libro.txt"); while(!leggi.eof()) { leggi>>a[i].titolo; leggi>>a[i].autore; leggi>>a[i].quantita; if(a[i].titolo==nuovo) { libroSi=true; } } leggi.close(); if(libroSi==true) { cout<<"\nErrore!"; return 0; } else { for(int i=0;i<3;i++) { cout<<"\nTitolo:"; cin>>a[i].titolo; cout<<"\nAutore:"; cin>>a[i].autore; cout<<"\nQuantita:"; cin>>a[i].quantita; salva<<a[i].titolo<<endl; salva<<a[i].autore<<endl; salva<<a[i].quantita<<endl; } } salva.close(); }