Einführung
In dieser Herausforderung erstellen Sie ein C++-Programm, das ein Schülerverzeichnis mithilfe des std::map-Containers aus der C++ Standard Template Library (STL) verwaltet. Ziel ist es, den Umgang mit Schlüssel-Wert-Datenstrukturen zu üben, um Schülerinformationen aus der Perspektive einer Schulverwaltung effizient zu erfassen und zu verwalten.
Das Programm soll es Ihnen ermöglichen, neue Schüler mit Namen und Alter hinzuzufügen, das Alter eines Schülers anhand seines Namens abzufragen und alle im Verzeichnis gespeicherten Datensätze anzuzeigen.
Implementierung eines einfachen Schülerverzeichnisses
Als Schuladministrator benötigen Sie ein digitales System, um Schülerinformationen mithilfe des C++ STL Map-Containers effizient zu verwalten. Diese Aufgabe hilft Ihnen dabei, die Arbeit mit Schlüssel-Wert-Paaren in der Praxis zu vertiefen.
Aufgaben
- Erstellen Sie ein C++-Programm zur Verwaltung eines Schülerverzeichnisses mittels
std::map. - Implementieren Sie Funktionen zum Hinzufügen von Schülern inklusive Name und Alter.
- Ermöglichen Sie das Abrufen des Alters eines Schülers über dessen Namen.
- Geben Sie alle im Verzeichnis vorhandenen Schülerdatensätze aus.
Anforderungen
- Erstellen Sie das Programm unter dem Pfad
~/project/student_roster.cpp. - Verwenden Sie
std::map<std::string, int>, um Schülernamen und deren Alter zu speichern. - Implementieren Sie folgende Operationen:
- Einen neuen Schüler zum Verzeichnis hinzufügen.
- Das Alter eines Schülers anhand des Namens abfragen.
- Alle Schüler im Verzeichnis auflisten.
- Nutzen Sie ausschließlich die Standard-Operationen der C++ STL Map, die im vorangegangenen Lab behandelt wurden.
- Kompilieren Sie das Programm mit dem g++ Compiler.
Beispiele
Kompilieren und starten Sie das Programm, um das Verzeichnis zu verwalten:
g++ student_roster.cpp -o student_roster
./student_roster
Beispiel für Ein- und Ausgaben:
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
Hinweise
- Verwenden Sie
map.insert()oder denmap[]-Operator, um Schüler hinzuzufügen. - Nutzen Sie
map.at()odermap[], um das Alter eines Schülers abzufragen. - Iterieren Sie mit einer bereichsbasierten for-Schleife (Range-based for loop) durch die Map.
- Berücksichtigen Sie mögliche Ausnahmen (Exceptions) beim Abrufen von Daten, falls ein Name nicht existiert.
Zusammenfassung
Zusammenfassend lässt sich sagen, dass diese Herausforderung die Implementierung eines C++-Programms zur Verwaltung eines Schülerverzeichnisses mittels std::map erforderte. Das Programm ermöglicht das Hinzufügen neuer Schüler, das gezielte Abfragen des Alters sowie die vollständige Auflistung aller Datensätze. Diese Übung dient dazu, die effiziente Verwaltung von Daten durch Schlüssel-Wert-Strukturen in C++ zu festigen.



