Concetti Chiave
- Il codice crea una classe 'info' per gestire informazioni personali come nome ed età.
- Utilizza file binari per scrivere e leggere i dati degli utenti attraverso l'uso di ofstream e ifstream.
- Il costruttore della classe inizializza l'età a 22 e riempie il nome con il carattere 'A'.
- Viene implementata una funzione di input per acquisire nome ed età dall'utente.
- Il programma consente di accedere a record specifici nel file binario tramite un numero di registrazione inserito dall'utente.
Copiatelo e provatelo creando un eseguibile .exe .
#include
#include
#include
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;
Come si gestiscono i file binari?
ofstream scrivi ("scrivi.dat", ios::binary);
for (int i=0; i
cout
cin>>anagrafe.nome;
cout
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
cout
cout
leggi.read((char*)&anagrafe, sizeof(info));
}
leggi.close();
cout
ifstream dati ("scrivi.dat", ios::binary);
int num_rec;
do {
Interazione con l'utente
cout
cin>>num_rec;
}while(num_rec2);
dati.seekg(num_rec*sizeof(info));
dati.read((char*)& anagrafe, sizeof(info));
dati.close();
cout
}
};
int main()
{
info anagrafe;
anagrafe.input();
return 0;
}
Domande da interrogazione
- Qual è la funzione principale della classe `info` nel codice fornito?
- Come vengono gestiti i file binari nel programma?
- Qual è il comportamento del programma quando si richiede di leggere un record specifico?
La classe `info` gestisce le informazioni personali, come nome ed età, e include metodi per l'input e la gestione di file binari per salvare e leggere questi dati.
I file binari vengono gestiti utilizzando `ofstream` per scrivere i dati in un file chiamato "scrivi.dat" e `ifstream` per leggere i dati da questo file, permettendo di salvare e recuperare le informazioni degli utenti.
Il programma chiede all'utente di inserire un numero di record e, se valido, utilizza `seekg` per posizionarsi nel file e leggere il record corrispondente, mostrando le informazioni salvate.