Manipulation fichier texte

Signaler
Messages postés
1
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
17 avril 2003
-
Messages postés
157
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
11 septembre 2004
-
I / Utilisation de fichiers texteLe fichier "Etud_2002.don" comporte des lignes ainsi structurées (le caractère ';' est utilisé comme séparateur) : NOM;Prénom;jj/mm/aaaa;taille
nom et prenom : des chaînes de caractères (taille variable) représentant un nom et un prénom ; jj/mm/aaaa : un date (de naissance) ; un entier représentant une taille (en cm)

I – 1 / Ecrire une fonction qui lit un enregistrement (une ligne) dans le fichier et initialise pour chaque ligne les variables ainsi définies (Date est une structure définie par trois champs j, m et a de type entier) et retourne une structure Etud comportant les différentes rubriques lues:
string Nom, // ou char * Prenom;
Date DatNaiss;
int Taille;

Cette fonction reçoit en paramètre un ifstream ou fstream : (ftream &fetud, …) par exemple.Afficher le contenu de la structure retournée par la fonction ci-dessus sur 4 colonnes alignées. Pour obtenir une présentation en colonnes, il est possible d'utiliser des manipulateurs (#include ). Sachant que l'affichage par défaut correspond à un cadrage à droite, ce qui est satisfaisant pour les nombres, alors que les chaînes de caractères sont souvent cadrées à gauche, il est possible d'écrire, à titre d'exemple, un code comme ci-dessous :
// cadrage à gauche dans un "masque" de 25 caractères de nom
// cadrage à droite dans un "masque" de 5 caractères de taille
cout << setiosflags (ios::left) << setw (25) << nom << resetiosflags (ios::right) << setw (5) << taille << endl;
(utiliser une fonction pour réaliser cet affichage)

I – 2 / Définir un vecteur dont les éléments sont de type Etud (faire une allocation dynamique du vecteur en utilisant l'opérateur new). Trier le vecteur successivement sur la taille et sur la date de naissance (s'inspirer du code vu en cours : structure MaDate) et afficher le résultat dans les deux cas en respectant l'affichage de la question 1.

I – 3 / Modifier la fonction d'affichage pour que le contenu affiché soit écrit dans un fichier texte (écrire dans un fichier texte est identique à afficher sur l'écran : si f est le "fstream" désignant le fichier, il suffit de remplacer cout << par f <<.
En fin de test du programme, fermer le fichier et charger son contenu dans le Bloc-Notes ce qui produit un affichage plus "agréable" que celui obtenu en "mode console". Pour réaliser ceci, il faut utiliser une fonction de la famille spawn (non standard).

// vérification exécution dans Bloc-notes
// nécessite #include spawnlp (0, "NOTEPAD.EXE", "NOTEPAD.EXE", "Resultat.txt", NULL);

2 réponses

Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011

Quoi? La question elle est ou?
Tu veux que l'on écrive le code à ta place???

Oublie ca toute suite ...
Fait ce que tu vient d'expliquer et tu vas
très bien t'en sortir ...

~(.:: NitRic ::.)~
Messages postés
157
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
11 septembre 2004

Krox68
t nul pour pas savoir sa...