Implémenter un registre d'étudiants simple

C++Beginner
Pratiquer maintenant

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érateur map[] pour ajouter des étudiants.
  • Utilisez map.at() ou map[] pour récupérer l'âge d'un étudiant.
  • Parcourez la map à l'aide d'une boucle for basé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).
✨ Vérifier la solution et pratiquer

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.