学生管理システムの設計

C++Beginner
オンラインで実践に進む

はじめに

このチャレンジでは、デジタル時代において学校が効率的に学生情報を管理できるよう、堅牢で安全な C++ の学生管理クラスを設計していただきます。目標は、名前、年齢、GPA(成績平均点)を保持する非公開(private)データメンバを持つ Student クラスを作成し、それらの情報を設定・表示するための公開(public)メソッドを実装することです。

学生管理システムの設計

デジタル時代において、学校には学生情報を管理するための効率的な手法が求められています。あなたの任務は、C++ を使用して堅牢で安全な学生管理クラスを作成することです。

タスク

  • name(名前)、age(年齢)、gpa(成績)を非公開データメンバとして持つ Student クラスを作成する
  • 学生情報を設定するための公開セッター(setter)メソッドを実装する
  • 学生情報を表示するための公開メソッドを作成する

要件

  • Student クラスを作成し、非公開データメンバとして name (string 型)、age (int 型)、gpa (double 型) を定義してください。

  • 文字列の引数を受け取り、名前が空でないことを検証する setName メソッドを実装してください。

  • 整数の引数を受け取り、年齢が 0 から 120 の範囲内であることを検証する setAge メソッドを実装してください。

  • double 型の引数を受け取り、GPA が 0.0 から 4.0 の範囲内であることを検証する setGPA メソッドを実装してください。

  • 以下の形式で学生情報を出力する displayInfo メソッドを作成してください。

    Student Name: <name>
    Student Age: <age>
    Student GPA: <gpa>
  • 実装したコードは ~/project/student.cpp ファイルに保存してください。

  • 必要なヘッダーファイル <iostream> および <string> を含めてください。

実行例

プログラムを実行して、実装をテストしてください。

g++ student.cpp -o student
./student

プログラムの出力例:

Student Name: Alice Johnson
Student Age: 20
Student GPA: 3.75

ヒント

  • データメンバには private アクセス指定子を使用してください。
  • 適切な入力検証(バリデーション)を行うセッターメソッドを作成してください。
  • 名前には std::string を使用してください。
  • 年齢と GPA の範囲チェックを実装してください。
✨ 解答を確認して練習

まとめ

まとめとして、このチャレンジでは、名前、年齢、GPA を含む学生情報を効率的に保存・表示できる C++ の学生管理クラスを設計しました。std::string(名前)、int(年齢)、double(GPA)といった指定された要件を満たすために、非公開データメンバと公開セッターメソッドを実装しました。最終的な実装は ~/project/student.cpp ファイルに保存されています。