/**
 * @file testLireFTAdresses.cpp
 * Projet sem05-td-Cpp1
 * @author l'équipe pédagogique 
 * @version 1 18/01/06
 * @brief corrige du TD n°5 - Exercice 1
 * Structures de données et algorithmes - DUT1 Paris 5
 */

#include <iostream>
#include <fstream>
using namespace std;

#include "Adresse.h"

/**
 * @brief Lecture d'un fichier texte formaté d'adresses 
 */
int main() {
	
	Adresse a;
	char nomFichier[80];
	
	cout << "New - Saisir le nom du fichier des adresses : ";
	cin >> nomFichier; // Hyp: Le fichier des adresses est sans erreur de format
	ifstream fAdresses (nomFichier, ios_base::in);
	
	if (fAdresses.fail()){ // if (!fAdresses)
		cerr << "L'ouverture de " << nomFichier << " a echoue " << endl;
      	exit(1);
	}
/*
	while (fAdresses.good()) {	// while (fAdresses) {
		// le flux d'entrée est dans un etat sans fin de fichier et sans erreur
		// assert (!fAdresses.eof() && !fAdresses.fail())
		a = saisir(fAdresses);
		afficher(cout, a);	// données, encadrées de "|", affichées par ligne
	}
*/
	/* Autre solution (DP) en cas de fichier pouvant présenter des erreurs 
	 * de format : ne provoquera pas l'affichage (fantaisiste) de la première 
	 * donnée corrompue */
	
	a = saisir(fAdresses);
  	while (!fAdresses.fail()) {
    	afficher(cout, a);
    	a = saisir(fAdresses);
  	}
	
	fAdresses.close();
}

