Introduction
Dans ce défi, vous allez concevoir un programme en C++ capable de gérer un registre d'étudiants en exploitant le conteneur std::map de la bibliothèque standard (STL). L'objectif est de mettre en pratique l'utilisation des structures de données de type clé-valeur pour organiser et administrer efficacement les informations scolaires.
Le programme devra vous permettre d'ajouter de nouveaux élèves avec leur nom et leur âge, de retrouver l'âge d'un élève à partir de son nom, et d'afficher l'intégralité des dossiers présents dans le registre.
Implémenter un registre d'étudiants simple
En tant qu'administrateur scolaire, vous devez mettre en place un système numérique pour suivre et gérer efficacement les informations des étudiants à l'aide du conteneur map de la STL C++. Ce défi vous aidera à maîtriser les structures de données associatives.
Tâches
- Développer un programme C++ gérant un registre d'étudiants via
std::map. - Implémenter des fonctions pour ajouter des étudiants (nom et âge).
- Permettre la récupération de l'âge d'un étudiant en effectuant une recherche par nom.
- Afficher la liste complète des enregistrements du registre.
Exigences
- Créez le programme dans le fichier
~/project/student_roster.cpp. - Utilisez
std::map<std::string, int>pour stocker les noms et les âges. - Implémentez les opérations suivantes :
- Ajouter un nouvel étudiant au registre.
- Récupérer l'âge d'un étudiant par son nom.
- Afficher tous les étudiants du registre.
- Utilisez exclusivement les opérations standards de
std::mapétudiées précédemment. - Compilez le programme à l'aide du compilateur g++.
Exemples
Compilez et exécutez le programme pour gérer le registre :
g++ student_roster.cpp -o student_roster
./student_roster
Exemple d'interaction (entrées et sorties) :
Enter command (add/get/list/quit): add
Enter student name: Alice
Enter student age: 20
Enter command (add/get/list/quit): add
Enter student name: Bob
Enter student age: 22
Enter command (get/list): get
Enter student name: Alice
Alice is 20 years old
Enter command (list): list
Alice: 20
Bob: 22
Conseils
- Utilisez
map.insert()ou l'opérateurmap[]pour ajouter des étudiants. - Utilisez
map.at()oumap[]pour récupérer l'âge d'un étudiant. - Parcourez la map à l'aide d'une boucle
forbasée sur l'intervalle (range-based for loop). - Gérez les exceptions potentielles lors de la récupération des âges (cas où le nom n'existe pas).
Résumé
En résumé, ce défi vous a demandé d'implémenter un programme C++ gérant un registre d'étudiants via le conteneur std::map. Vous avez appris à ajouter de nouvelles entrées, à rechercher des informations spécifiques par clé et à parcourir l'ensemble des données stockées. Ce défi visait à renforcer votre maîtrise des structures de données clé-valeur pour une gestion d'information efficace et organisée.



