Exo1
Tue Nov 21 2023 12:51:21 GMT+0000 (Coordinated Universal Time)
Saved by @Mehdiiiiiii7
#include <iostream> #include <fstream> #include <string> #include <iomanip> #include <cmath> #include <span> #include <vector> #include <algorithm> #include "cppitertools/range.hpp" #include "cppitertools/enumerate.hpp" #include "verification_allocation.hpp" #include "debogage_memoire.hpp" using namespace std; using namespace iter; struct Personne { char nom[10]; int age; }; ifstream creerFichiertxt_in(const string& nomDuFichier) { return {}; } int nbLigneFichierTxt(const string& nomDuFichier) { return {}; } ifstream creerFichierbin_in(const string& nomDuFichier) { return {}; } ofstream creerFichierbin_out(const string& nomDuFichier) { return {}; } Personne* allouerMemoire(const int nbPersonne) { return {}; } void lireFichiertxt(const string& nomDuFichier, span<Personne> personnes) { } void afficheTableau(span<Personne> personnes) { } void ecrireFichierBinaire(const string& nomDuFichier, span<Personne> personnes) { } int nbElemFichierBin(const string& nomDuFichier) { return {}; } void lireFichierBin(const string& nomDuFichier, span<Personne> personnes) { } void trierPersonneParAge(span<Personne> personnes) { } void trierPersonneParNom(span<Personne> personnes) { } Personne plusGrandAge(span<Personne> personnes) { return {}; } Personne plusPetitAge(span<Personne> personnes) { return {}; } int main() { srand((unsigned)time(NULL)); bibliotheque_cours::VerifierFuitesAllocations verifierFuitesAllocations; const string nomFichier_txt = "age.txt"; const string nomFichier_bin = "age.bin"; //Calcul du nombre de lignes dans le fichier texte int nbLigneTxt = nbLigneFichierTxt(nomFichier_txt); static const int CAPACITE = 10; Personne* personnes_txt = allouerMemoire(CAPACITE); // Lecture des données depuis le fichier texte span<Personne> span_personnes_txt = span(personnes_txt, nbLigneTxt > CAPACITE ? CAPACITE : nbLigneTxt); lireFichiertxt(nomFichier_txt, span_personnes_txt); cout << "Affichage des données lues depuis le fichier texte :" << endl; afficheTableau(span_personnes_txt); cout << endl << endl; // Ecriture des données dans le fichier binaire ecrireFichierBinaire(nomFichier_bin, span_personnes_txt); // Calcul du nombre d'éléments dans le fichier binaire int nbLigneBin = nbElemFichierBin(nomFichier_bin); // Lecture des données depuis le fichier binaire Personne* personnes_bin = allouerMemoire(CAPACITE); span<Personne> span_personnes_bin = span(personnes_bin, nbLigneBin > CAPACITE ? CAPACITE : nbLigneBin); lireFichierBin(nomFichier_bin, span_personnes_bin); cout << "Affichage des données lues depuis le fichier binaire :" << endl; afficheTableau(span_personnes_bin); cout << endl << endl; cout << "Tri des personnes par âge..." << endl; trierPersonneParAge(span_personnes_bin); afficheTableau(span_personnes_bin); cout << endl << endl; cout << "Tri des personnes par nom..." << endl; trierPersonneParNom(span_personnes_bin); afficheTableau(span_personnes_bin); cout << endl << endl; cout << "Personne la plus âgée :" << endl; Personne p = plusGrandAge(span_personnes_bin); cout << left << setw(10) << p.nom << p.age << endl << endl; cout << "Personne la plus jeune :" << endl; p = plusPetitAge(span_personnes_bin); cout << left << setw(10) << p.nom << p.age << endl << endl; delete[] personnes_txt; delete[] personnes_bin; personnes_txt = nullptr; personnes_bin = nullptr; return 0; }
Comments