C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++の構造体で学生データを作成し、指定形式で表示するプログラム

問題概要

学生の「名(ファーストネーム)」「姓(ラストネーム)」「年齢」「クラス」が、それぞれ別の行に入力として与えられているとします。C++の構造体(struct)を使ってこれらのデータをすべて読み込み、(年齢, 名, 姓, クラス) の形式で表示するプログラムを作成しましょう。ここで、年齢とクラスは整数型(int)、名と姓は文字列型(string)として扱います。

たとえば、入力が次のような場合:

priyam
kundu
16
10

出力は以下のようになります。

(16, priyam, kundu, 10)

解き方の手順

この問題を解くには、以下の手順に従います。

  • string型のfirst_name(名)・last_name(姓)、int型のage(年齢)・cl(クラス)を持つ構造体を定義する
  • 各行からデータを読み込み、Student型の変数studにそれぞれ格納する
  • (stud.age, stud.first_name, stud.last_name, stud.cl) の形式で学生情報を表示する

実装例

理解を深めるために、実際のコードを見てみましょう。

#include <iostream>
using namespace std;
struct Student{
    int age, cl;
    string first_name, last_name;
};
int main() {
    Student stud;
    cin >> stud.first_name >> stud.last_name >> stud.age >> stud.cl;
    cout << "(" << stud.age << ", " << stud.first_name << ", " << stud.last_name << ", " << stud.cl << ")";
}

入力例

priyam
kundu
16
10

出力例

(16, priyam, kundu, 10)

コードのポイント

C++の標準入力ストリーム cin は、空白や改行を自動的に区切りとして扱うため、値が複数行に分かれて入力される場合でも、抽出演算子(>>)を連続して使うだけで簡単に読み込めます。

また、構造体を使用することで、名前・年齢・クラスといった関連する複数のデータをひとつのまとまりとして管理できるため、コードの可読性や保守性が大きく向上します。実務でも、学生や社員など複数の属性を持つデータを扱う際には、構造体やクラスでモデル化するのが一般的な設計手法です。

  1. C++でフィボナッチ数列を表示するプログラム【動的計画法・再帰の2つの方法】

    フィボナッチ数列とは、各項が「直前の2つの項の和」となる規則性を持つ数列のことです。この規則に従うと、次のような整数列が得られます。0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377……フィボナッチ数を定義する漸化式は以下の通りです。F(n) = F(n-1) + F(n-2) F(0) = 0 F(1) = 1フィボナッチ数列を表示する2つの方法C++でフィボナッチ数列を表示するには、大きく分けて動的計画法(DP)と再帰的プログラミングの2つのアプローチがあります。それぞれの特徴と実装例を詳しく見ていきましょう。方法1:動的計画法を使

  2. C++の変数とは?基本の変数宣言と主なデータ型をわかりやすく解説

    変数(へんすう)とは、プログラムが操作できる「名前付きの記憶領域」のことです。C++では、各変数に必ず特定の「型」が割り当てられます。この型によって、次の3つの要素が決まります。変数のメモリ上のサイズと配置そのメモリに格納できる値の範囲その変数に適用できる演算(操作)の種類最もシンプルな変数の例を見てみましょう。int my_val = 5;この例では、int型(整数型)の変数 my_val を宣言し、値として 5 を代入しています。変数の宣言方法C++で変数を定義する一般的な書式は次のとおりです。type variable_name;宣言と同時に初期化したい場合は、以下のように記述します。t