Salve ragazzi,
Ho un problema con questo programma.
Il programma deve inserire un tot di libri all'interno di uno scaffale(per semplicità ho supposto 4libri) e se inserisco un libro con lo stesso titolo di uno di quelli presenti mi da errore, dicendomi che è già presente.
Il problema è che mi confronta il titolo che aggiungo solo con il primo titolo aggiunto e non con tutti i titoli presenti sul mio file.
Per favore aiutatemi, perchè non so più dove sbattere la testa!
codice:
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
int nuovo ();
class libro
{ public:
string titolo="";
string autore="";
};
int main ()
{
int scelta;
do
{
cout« "1.Inserisci: ";
cout« "Operazione da eseguire:";
cin»scelta;
switch (scelta)
{
case 1:
nuovo();
break;
}
system ("PAUSE");
}
while(scelta!=2);
}
int nuovo ()
{
ofstream salva;
salva.open("Libreria.txt", ios::app);
libro l;
for (int i=0;i<3;i++)
{
ifstream leggi;
leggi.open("Libreria.txt");
leggi»l.titolo;
leggi»l.autore;
string nuovo="";
cout«"Titolo: " « endl;
cin»nuovo;
if(nuovo!=l.titolo)
{
cout«"Autore: " « endl;
cin»l.autore;
l.titolo=nuovo;
salva«l.titolo«endl;
salva«l.autore«endl;
}
else
{
cout«"Errore!"«endl;
return 0;
}
leggi.close();
}
salva.close();
return 0;
}