Scusami, ma non avevo visto all'inizio che era possibile allegare file, ma non mi è possibile allegare nessun tipo di file, neanche txt. Postarli tutti mi sembrava un lavoraccio ma se ti serve lo faccio subito:
class articolo
{
protected:
char* codice;
float prezzo;
ecc.....
articolo::articolo(const char* code, const float price)
{
codice= new char[strlen(code)+1];
strcpy(codice,code);
prezzo=price;
}
void articolo::leggi(fstream& file)
{
cout <<" articolo";
char buffer[100];
file >> buffer >> prezzo;
codice=new char[strlen(buffer)+1];
strcpy(codice,buffer);
}
void articolo::scrivi(fstream& file)
{
file << codice <<" "<< prezzo;
}
class videogioco: public articolo
{
protected:
char* nome;
char* console;
ecc...
void videogioco::leggi(fstream& file)
{
articolo::leggi(file);
cout <<" video";
char buffer[100];
char buffer2[100];
file >> buffer >> buffer2;
nome=new char[strlen(buffer)+1];
strcpy(nome,buffer);
console=new char[strlen(buffer2)+1];
strcpy(console,buffer2);
}
void videogioco::scrivi(fstream& file)
{
articolo::scrivi(file);
file <<" "<< nome <<" "<< console;
}
class dvd: public articolo
{
protected:
char* titolo;
int anno;
ecc....
void dvd::leggi(fstream& file)
{
articolo::leggi(file);
char buffer[100];
file >> buffer >> anno;
titolo=new char[strlen(buffer)+1];
strcpy(titolo,buffer);
}
void dvd::scrivi(fstream& file)
{
articolo::scrivi(file);
file <<" "<< titolo <<" "<< anno;
}
QUI C'è LA LETTURA MALEDETTA!
class lista
{
private:
nodo* l;
ecc.....
void lista::scrivi_su_file(const char* percorso)
{
fstream file;
file.open(percorso,ios::out|ios::app);
if (!file) cout << "errore apertura";
else
{
nodo* app=l;
while (app)
{
app->get_elem()->scrivi(file);
file << endl;
app=app->get_next();
}
}
file.close();
}
void lista::leggi_da_file(const char* percorso)
{
fstream file;
file.open(percorso,ios::in);
if (!file) cout << "errore nel file";
else
{
/*
while ( v->leggi(file))
{
cout << v;
push();
}
*/
}
file.close();
}