实现一个简单的学生名册

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本挑战中,你将使用 C++ 标准模板库(STL)中的 std::map 容器创建一个管理学生名册的 C++ 程序。目标是练习使用键值对数据结构,以高效地跟踪和管理学生信息,作为学校管理员。

该程序应允许你添加带有姓名和年龄的新学生,通过姓名检索学生的年龄,并显示名册中的所有学生记录。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/OOPGroup(["OOP"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp/OOPGroup -.-> cpp/classes_objects("Classes/Objects") cpp/StandardLibraryGroup -.-> cpp/string_manipulation("String Manipulation") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") subgraph Lab Skills cpp/classes_objects -.-> lab-446298{{"实现一个简单的学生名册"}} cpp/string_manipulation -.-> lab-446298{{"实现一个简单的学生名册"}} cpp/standard_containers -.-> lab-446298{{"实现一个简单的学生名册"}} end

实现一个简单的学生名册

作为学校管理员,你需要使用 C++ STL 的 map 容器创建一个数字系统,以高效地跟踪和管理学生信息。本挑战将帮助你练习使用键值对数据结构。

任务

  • 使用 std::map 创建一个管理学生名册的 C++ 程序
  • 实现添加学生姓名和年龄的功能
  • 允许通过姓名检索学生的年龄
  • 显示名册中的所有学生记录

要求

  • ~/project/student_roster.cpp 中创建程序
  • 使用 std::map<std::string, int> 存储学生姓名和年龄
  • 实现以下操作:
    • 向名册中添加新学生
    • 通过姓名检索学生的年龄
    • 显示名册中的所有学生
  • 仅使用在前一个实验中学到的标准 C++ 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 循环遍历 map
  • 在检索年龄时处理潜在的异常
✨ 查看解决方案并练习

总结

总结来说,本挑战要求你使用 std::map 容器实现一个管理学生名册的 C++ 程序。该程序应允许你添加新学生、通过姓名检索学生的年龄,并显示名册中的所有学生记录。本挑战旨在帮助你练习使用 C++ 中的键值对数据结构,以高效地跟踪和管理学生信息。