Ominide 690 punti

Questo codice è scritto in C++ ed è un esempio di utilizzo di archivi ad accesso diretto. Potete copiarlo e provarlo compilandolo sui vostri compilatori e sperimentare!

#include <iostream>
#include <fstream>

struct anagrafico{
char nome[21];
char eta[3];
};
using namespace std;

int main()
{
anagrafico 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(anagrafico));
}
scrivi.close();
ifstream leggi("scrivi.dat", ios::binary);
leggi.read((char*)&anagrafe, sizeof(anagrafico));
while(!leggi.eof()){
cout<<endl;

cout<<"Questo e' il nome: "<<anagrafe.nome<<endl;
cout<<"Questa e' l'eta': "<<anagrafe.eta<<endl;
leggi.read((char*)&anagrafe, sizeof(anagrafico));
}
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(anagrafico));
dati.read((char*)& anagrafe, sizeof(anagrafico));
dati.close();
cout<<anagrafe.nome<<" "<<anagrafe.eta<<endl;

return 0;
}

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