Dernier élément qui s'affiche deux fois
Bonjour,
J'ai créé deux structures que je vais ensuite mettre dans une liste, mais lorsque je fais la lecture du fichier et affiche le contenu de ma structure, la dernière donnée est affichée deux fois. Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| void lireFichierAbonnes(abonne *& listeAbonnes)
{
int compterReservations = 0;
ifstream lecture;
abonneFichier personne;
reservationFichier reservation;
lecture.open("Abonnes.data", ios::binary);
if(!lecture.fail())
{
cout << "Voici la liste des des abonnés : " << endl << endl;
while (!lecture.eof()) // Tant qu'on peut lire un numero d'item
{
lecture.read ((char*) &abonne, sizeof(abonneFichier));
cout << personne.nom << endl;
cout << personne.no << endl;
cout << personne.adresse << endl;
cout << personne.telephone << endl;
cout << personne.nbReservations << endl;
while(compterReservations != personne.nbReservations)
{
lecture.read ((char*) &reservation, sizeof(reservationFichier));
cout << reservation.isbn << endl;
cout << reservation.dateReserv.jour << endl;
cout << reservation.dateReserv.mois << endl;
cout << reservation.dateReserv.an << endl;
++ compterReservations;
}
compterReservations = 0;
}
lecture.close();
}
else
{
cout << "La lecture du fichier n'a pas réussi" << endl;
}
} |
Avez vous une solution?
Merci d'avance