シンプルな学生名簿の実装

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++ のキーと値のデータ構造を使用して、学生情報を効率的に追跡および管理する練習をすることです。