Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ lưu trữ và hiển thị thông tin bằng cấu trúc (struct)


Cấu trúc (structure) là tập hợp các mục có kiểu dữ liệu khác nhau. Rất hữu ích khi tạo cấu trúc dữ liệu phức tạp với các bản ghi kiểu khác nhau. Cấu trúc được định nghĩa bằng từ khóa struct.

Ví dụ cấu trúc:

struct employee {
  int empID;
  char name[50];
  float salary;
};

Chương trình lưu trữ và hiển thị thông tin nhân viên bằng cấu trúc:

Ví dụ

#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 << "Thông tin nhân viên:" << endl;
  cout << endl;
  for (int i = 0; i < 3; i++) {
    cout << "Mã nhân viên: " << emp[i].empID << endl;
    cout << "Tên: " << emp[i].name << endl;
    cout << "Lương: " << emp[i].salary << endl;
    cout << "Phòng ban: " << emp[i].department << endl;
    cout << endl;
  }
  return 0;
}

Kết quả đầu ra

Thông tin nhân viên:
Mã nhân viên: 1
Tên: Harry
Lương: 20000
Phòng ban: Finance

Mã nhân viên: 2
Tên: Sally
Lương: 50000
Phòng ban: HR

Mã nhân viên: 3
Tên: John
Lương: 15000
Phòng ban: Technical

Trong chương trình, cấu trúc được định nghĩa trước main(). Cấu trúc chứa mã nhân viên, tên, lương và phòng ban:

struct employee {
  int empID;
  char name[50];
  int salary;
  char department[50];
};

Trong main(), mảng đối tượng kiểu struct employee được định nghĩa với các giá trị:

struct employee emp[3] = {
  {1, "Harry", 20000, "Finance"},
  {2, "Sally", 50000, "HR"},
  {3, "John", 15000, "Technical"}
};

Giá trị cấu trúc hiển thị bằng vòng lặp for:

cout << "Thông tin nhân viên:" << endl;
cout << endl;
for (int i = 0; i < 3; i++) {
  cout << "Mã nhân viên: " << emp[i].empID << endl;
  cout << "Tên: " << emp[i].name << endl;
  cout << "Lương: " << emp[i].salary << endl;
  cout << "Phòng ban: " << emp[i].department << endl;
  cout << endl;
}