Ominide 690 punti

Copiatelo e provatelo creando un eseguibile .exe .
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;

class info{
private:
char nome[15];
int eta;
public:
info():
nome(),eta(0)
{
eta=22;
memset(nome,65,sizeof (nome)-10);
}
void input(){
info anagrafe;
ofstream scrivi ("scrivi.dat", ios::binary);
for (int i=0; i<3; i++){
cout<<"Dammi il nome: ";
cin>>anagrafe.nome;
cout<<"Dammi l'eta': ";
cin>>anagrafe.eta;
scrivi.write((char*) & anagrafe, sizeof(info));
}
scrivi.close();
ifstream leggi("scrivi.dat", ios::binary);
leggi.read((char*)&anagrafe, sizeof(info));

while(!leggi.eof()){
cout<<endl;
cout<<"Nome: "<<anagrafe.nome<<endl;
cout<<"Eta': "<<anagrafe.eta<<endl;
leggi.read((char*)&anagrafe, sizeof(info));
}
leggi.close();
cout<<endl;
ifstream dati ("scrivi.dat", ios::binary);
int num_rec;
do {
cout<<"Dammi il numero di record: ";
cin>>num_rec;
}while(num_rec<0 or num_rec>2);
dati.seekg(num_rec*sizeof(info));
dati.read((char*)& anagrafe, sizeof(info));
dati.close();
cout<<anagrafe.nome<<" "<<anagrafe.eta<<endl;

}
};
int main()
{
info anagrafe;
anagrafe.input();
return 0;
}

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email