Реализация простого реестра студентов

C++Beginner
Практиковаться сейчас

Введение

В рамках этого испытания вам предстоит разработать программу на C++, которая управляет реестром студентов с помощью контейнера std::map из стандартной библиотеки шаблонов (STL). Цель задания — закрепить навыки работы со структурами данных типа «ключ-значение» для эффективного учета и управления информацией о студентах от лица администратора учебного заведения.

Программа должна поддерживать добавление новых записей (имя и возраст), поиск возраста студента по его имени, а также вывод полного списка всех зарегистрированных студентов.

Реализация простого реестра студентов

Представьте себя в роли администратора школы. Вам необходимо создать цифровую систему для эффективного отслеживания данных учащихся, используя возможности контейнера map в C++ STL. Это упражнение поможет вам освоить работу с ассоциативными контейнерами.

Задачи

  • Написать программу на C++, управляющую реестром студентов через std::map.
  • Реализовать функционал добавления студентов (имя и возраст).
  • Обеспечить возможность получения возраста студента по его имени.
  • Реализовать вывод всех записей реестра на экран.

Требования

  • Создайте файл с исходным кодом по пути ~/project/student_roster.cpp.
  • Используйте std::map<std::string, int> для хранения имен и возраста.
  • Реализуйте следующие операции:
    • Добавление нового студента в реестр.
    • Поиск возраста студента по имени.
    • Отображение списка всех студентов.
  • Используйте только стандартные операции STL map, изученные в предыдущих модулях.
  • Скомпилируйте программу с помощью компилятора g++.

Примеры

Скомпилируйте и запустите программу для управления реестром:

g++ student_roster.cpp -o student_roster
./student_roster

Пример взаимодействия с программой:

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

Подсказки

  • Для добавления данных используйте map.insert() или оператор map[].
  • Для получения значения используйте map.at() или оператор map[].
  • Для перебора элементов контейнера используйте цикл for на основе диапазона (range-based for loop).
  • Предусмотрите обработку возможных исключений при поиске возраста.
✨ Проверить решение и практиковаться

Резюме

Подводя итог, в этом испытании вы реализовали программу на C++ для управления реестром студентов с использованием контейнера std::map. Программа позволяет добавлять новых учащихся, находить их возраст по имени и просматривать весь список записей. Это задание помогло вам на практике применить структуры данных «ключ-значение» для эффективной организации информации.