Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ 구조체로 학생 정보를 저장하는 방법 – 예제 코드와 실행 결과까지

구조체(structure)는 서로 다른 데이터 타입의 항목들을 하나로 묶어 놓은 집합입니다. 다양한 자료형을 가진 복잡한 데이터 레코드를 만들 때 매우 유용하며, C++에서는 struct 키워드를 사용해 정의합니다.

구조체의 기본 정의

구조체는 다음과 같이 정의할 수 있습니다.

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

위 예제처럼 구조체 안에는 정수, 문자열, 실수 등 여러 자료형을 자유롭게 포함시킬 수 있습니다.

학생 정보를 저장하는 C++ 프로그램

아래는 구조체를 사용하여 학생 정보(학번, 이름, 점수, 학점)를 저장하고 출력하는 전체 프로그램입니다.

예제 코드

#include <iostream>
using namespace std;
struct student {
    int rollNo;
    char name[50];
    float marks;
    char grade;
};
int main() {
    struct student s = { 12 , "Harry" , 90 , 'A' };
    cout<<"The student information is given as follows:"<<endl;
    cout<<endl;
    cout<<"Roll Number: "<<s.rollNo<<endl;
    cout<<"Name: "<<s.name<<endl;
    cout<<"Marks: "<<s.marks<<endl;
    cout<<"Grade: "<<s.grade<<endl;
    return 0;
}

실행 결과

The student information is given as follows:
Roll Number: 12
Name: Harry
Marks: 90
Grade: A

코드 상세 설명

1. 구조체 정의

위 프로그램에서 구조체는 main() 함수보다 먼저 정의되었습니다. 이 구조체에는 학생의 학번(roll number), 이름(name), 점수(marks), 학점(grade)이 포함됩니다.

struct student {
    int rollNo;
    char name[50];
    float marks;
    char grade;
};

2. 구조체 변수 선언 및 초기화

main() 함수 내부에서 struct student 타입의 객체 s를 선언하고, 중괄호를 이용해 각 멤버 값을 한 번에 초기화했습니다.

struct student s = { 12 , "Harry" , 90 , 'A' };

값의 순서는 구조체 정의 시 멤버가 나열된 순서와 일치해야 합니다. 즉, 학번 → 이름 → 점수 → 학점 순으로 대입됩니다.

3. 구조체 값 출력하기

점 연산자(.)를 사용하면 구조체의 개별 멤버에 접근할 수 있습니다. 출력 부분은 다음과 같습니다.

cout<<"The student information is given as follows:"<<endl;
cout<<endl;
cout<<"Roll Number: "<<s.rollNo<<endl;
cout<<"Name: "<<s.name<<endl;
cout<<"Marks: "<<s.marks<<endl;
cout<<"Grade: "<<s.grade<<endl;

정리

이 예제를 통해 C++ 구조체의 핵심 개념을 확인할 수 있습니다.

  • struct 키워드로 서로 다른 자료형을 하나의 단위로 묶을 수 있습니다.
  • 중괄호 초기화 리스트를 사용하면 구조체 멤버를 한 번에 설정할 수 있습니다.
  • 점 연산자(.)를 통해 개별 멤버에 접근하고 값을 읽거나 수정할 수 있습니다.
  • 구조체는 학생 정보, 직원 정보 등 관련 데이터를 그룹화할 때 특히 유용합니다.

실무에서는 이러한 구조체를 배열이나 벡터와 결합해 여러 명의 학생 정보를 한꺼번에 관리하는 방식으로 확장할 수도 있습니다.