C++で構造体を使って従業員情報を格納・表示する方法【初心者向け解説】
C++における構造体(struct)とは
構造体(structure)とは、異なるデータ型の項目をひとつにまとめたデータ集合です。整数や文字列、浮動小数点数など、型の異なる複数のレコードを扱う複雑なデータ構造を作成する際に非常に役立ちます。C++では、struct キーワードを使って構造体を定義します。
構造体の基本的な定義例は以下の通りです。
struct employee {
int empID;
char name[50];
float salary;
};この例では、従業員ID(int型)、名前(char配列)、給与(float型)という3つのメンバを持つ employee 構造体を定義しています。
それでは、実際に構造体を使って情報を格納し、表示する完全なプログラムを見てみましょう。
サンプルプログラム:構造体で従業員情報を管理する
#include <iostream>
using namespace std;
struct employee {
int empID;
char name[50];
int salary;
char department[50];
};
int main() {
struct employee emp[3] = { { 1 , "Harry" , 20000 , "Finance" } , { 2 , "Sally" , 50000 , "HR" } , { 3 , "John" , 15000 , "Technical" } };
cout<<"The employee information is given as follows:"<<endl;
cout<<endl;
for(int i=0; i<3;i++) {
cout<<"Employee ID: "<<emp[i].empID<<endl;
cout<<"Name: "<<emp[i].name<<endl;
cout<<"Salary: "<<emp[i].salary<<endl;
cout<<"Department: "<<emp[i].department<<endl;
cout<<endl;
}
return 0;
}
実行結果(出力)
The employee information is given as follows:
Employee ID: 1
Name: Harry
Salary: 20000
Department: Finance
Employee ID: 2
Name: Sally
Salary: 50000
Department: HR
Employee ID: 3
Name: John
Salary: 15000
Department: Technical
プログラムの解説
1. 構造体の定義
まず、main() 関数よりも前に構造体が定義されている点に注目してください。この構造体には、従業員ID(empID)、名前(name)、給与(salary)、部署(department)の4つのメンバ変数が含まれています。
struct employee {
int empID;
char name[50];
int salary;
char department[50];
};構造体を main() の外側で定義することで、プログラム内のどこからでもこの型を利用できるようになります。
2. 構造体配列による初期化
次に、main() 関数の中で、struct employee 型のオブジェクト配列を宣言し、同時に初期化しています。各要素には、従業員ID、名前、給与、部署の値が波括弧({})で対応付けて格納されます。
struct employee emp[3] = { { 1 , "Harry" , 20000 , "Finance" } , { 2 , "Sally" , 50000 , "HR" } , { 3 , "John" , 15000 , "Technical" } };ここでは3名分の従業員データを一度に初期化しており、これにより個別に値を代入する手間を省けます。
3. forループによるデータ表示
最後に、forループを使って構造体配列の全要素を順番に取り出し、画面に表示しています。ドット演算子(.)を使うことで、各メンバ変数へアクセスできます。
cout<<"The employee information is given as follows:"<<endl;
cout<<endl;
for(int i=0; i<3;i++) {
cout<<"Employee ID: "<<emp[i].empID<<endl;
cout<<"Name: "<<emp[i].name<<endl;
cout<<"Salary: "<<emp[i].salary<<endl;
cout<<"Department: "<<emp[i].department<<endl;
cout<<endl;
}
このように emp[i] の形式で配列のi番目の構造体を参照し、.empID や .name のようにしてメンバにアクセスします。ループ処理と組み合わせることで、大量のデータでも効率よく表示できるのがポイントです。
まとめ
C++の構造体を使えば、データ型の異なる複数の情報をひとつの単位としてまとめて管理できます。今回の例のように、従業員リストのような実践的なデータを扱う際に、構造体は非常に強力なツールとなります。struct の定義方法、配列での初期化、forループによる表示という流れは、より大規模なデータ管理プログラムへの第一歩となる基礎知識ですので、ぜひマスターしておきましょう。
-
C++プログラムから外部アプリケーション(メモ帳など)を起動する方法
この記事では、C++プログラムを使ってメモ帳(Notepad)などのサードパーティ製アプリケーションを起動する方法を解説します。実装は非常にシンプルで、コマンドプロンプトで使うコマンドをそのままC++から呼び出すだけで実現できます。ポイントとなるのは、標準ライブラリの system() 関数です。この関数の引数にアプリケーション名(コマンド)を文字列として渡すと、OSがそのコマンドを実行し、対応するアプリケーションが起動します。サンプルコード#include <iostream> using namespace std; int main() { cout <<
-
C++プログラムの基本構造を徹底解説!Hello Worldで学ぶ入門
C++プログラムの基本構造とは プログラミング言語を効率よく習得する最良の方法は、実際にプログラムを書いてみることです。初心者が最初に書くプログラムとして定番なのが、「Hello World」という文字列を画面に表示するだけのシンプルなプログラムです。ごく簡単な内容ですが、C++プログラムに必要な基本的な構成要素がすべて詰まっています。それでは、さっそくコードを見てみましょう。 #include<iostream> int main() { std::cout << Hello World\n; } ここからは、このプログ