>백엔드 개발 >C++ >C++를 사용하여 간단한 학생 기숙사 관리 시스템을 작성하는 방법은 무엇입니까?

C++를 사용하여 간단한 학생 기숙사 관리 시스템을 작성하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-11-03 08:07:411043검색

C++를 사용하여 간단한 학생 기숙사 관리 시스템을 작성하는 방법은 무엇입니까?

C++를 사용하여 간단한 학생 기숙사 관리 시스템을 작성하는 방법은 무엇입니까?

학생 기숙사 관리 시스템은 학생 기숙사 정보를 쉽게 관리할 수 있는 소프트웨어 시스템입니다. C++를 사용하여 간단한 학생 기숙사 관리 시스템을 작성하면 프로그래밍 기술을 연습할 수 있을 뿐만 아니라 학생 기숙사 관리 프로세스에 대한 이해와 파악도 향상됩니다. 이 기사에서는 C++를 사용하여 간단한 학생 기숙사 관리 시스템을 작성하는 방법을 소개합니다.

먼저 학생 이름, 학번, 성별, 연락처 등 학생 기숙사의 기본 정보를 정의해야 합니다. 아래와 같이 구조를 사용하여 이 정보를 저장할 수 있습니다.

struct Student {
    string name;
    int id;
    string gender;
    string contact;
};

다음으로 기숙사 건물 번호, 층 수, 각 층의 기숙사 방 수 등을 포함하여 기숙사 건물의 기본 정보를 정의해야 합니다. . 아래와 같이 기숙사 건물을 표현하기 위해 클래스를 사용할 수 있습니다.

class Dormitory {
    private:
        int number;
        int floors;
        int roomsPerFloor;
        vector<vector<Student>> rooms;
    public:
        // 构造函数
        Dormitory(int n, int f, int r) {
            number = n;
            floors = f;
            roomsPerFloor = r;
            rooms.resize(floors, vector<Student>(roomsPerFloor));
        }
        // 获取宿舍楼号
        int getNumber() {
            return number;
        }
        // 获取楼层数
        int getFloors() {
            return floors;
        }
        // 获取每层宿舍房间数
        int getRoomsPerFloor() {
            return roomsPerFloor;
        }
        // 获取指定房间的学生信息
        Student getStudent(int floor, int room) {
            return rooms[floor][room];
        }
        // 更新指定房间的学生信息
        void updateStudent(int floor, int room, Student student) {
            rooms[floor][room] = student;
        }
};

그런 다음, 학생 기숙사 건물의 관리 기능을 포함하는 학생 기숙사 관리 시스템 클래스를 정의할 수 있습니다. 아래와 같이 벡터를 사용하여 다양한 기숙사 건물을 저장할 수 있습니다.

class DormitoryManagementSystem {
    private:
        vector<Dormitory> dormitories;
    public:
        // 添加宿舍楼
        void addDormitory(int number, int floors, int roomsPerFloor) {
            dormitories.push_back(Dormitory(number, floors, roomsPerFloor));
        }
        // 获取宿舍楼个数
        int getDormitoryCount() {
            return dormitories.size();
        }
        // 获取指定宿舍楼对象
        Dormitory getDormitory(int index) {
            return dormitories[index];
        }
        // 获取指定宿舍楼的房间数
        int getRoomCount(int index) {
            return dormitories[index].getFloors() * dormitories[index].getRoomsPerFloor();
        }
        // 获取指定宿舍楼指定房间的学生信息
        Student getStudent(int index, int floor, int room) {
            return dormitories[index].getStudent(floor, room);
        }
        // 更新指定宿舍楼指定房间的学生信息
        void updateStudent(int index, int floor, int room, Student student) {
            dormitories[index].updateStudent(floor, room, student);
        }
};

마지막으로 학생 기숙사 관리 시스템의 사용법을 보여주는 메인 프로그램을 작성할 수 있습니다. 메인 프로그램에서는 기숙사 건물 추가, 기숙사 건물 정보 조회, 학생 정보 추가, 학생 정보 조회 등의 메뉴 기능을 제공할 수 있습니다. 다음은 간단한 메인 프로그램 예시입니다.

int main() {
    DormitoryManagementSystem system;
    int choice;
    do {
        cout << "1. 添加宿舍楼" << endl;
        cout << "2. 查看宿舍楼信息" << endl;
        cout << "3. 添加学生信息" << endl;
        cout << "4. 查看学生信息" << endl;
        cout << "0. 退出" << endl;
        cout << "请输入选项:";
        cin >> choice;
        switch (choice) {
            case 1:
                int number, floors, roomsPerFloor;
                cout << "请输入宿舍楼号:";
                cin >> number;
                cout << "请输入楼层数:";
                cin >> floors;
                cout << "请输入每层宿舍房间数:";
                cin >> roomsPerFloor;
                system.addDormitory(number, floors, roomsPerFloor);
                cout << "成功添加宿舍楼!" << endl;
                break;
            case 2:
                int index;
                cout << "请输入要查看的宿舍楼索引:";
                cin >> index;
                if (index >= 0 && index < system.getDormitoryCount()) {
                    Dormitory dorm = system.getDormitory(index);
                    cout << "宿舍楼号:" << dorm.getNumber() << endl;
                    cout << "楼层数:" << dorm.getFloors() << endl;
                    cout << "每层宿舍房间数:" << dorm.getRoomsPerFloor() << endl;
                    cout << "总房间数:" << system.getRoomCount(index) << endl;
                } else {
                    cout << "宿舍楼索引无效!" << endl;
                }
                break;
            case 3:
                int dormIndex, floor, room;
                string name, gender, contact;
                cout << "请输入要添加学生的宿舍楼索引:";
                cin >> dormIndex;
                if (dormIndex >= 0 && dormIndex < system.getDormitoryCount()) {
                    cout << "请输入学生所在楼层:";
                    cin >> floor;
                    cout << "请输入学生所在房间:";
                    cin >> room;
                    cout << "请输入学生姓名:";
                    cin >> name;
                    cout << "请输入学生性别:";
                    cin >> gender;
                    cout << "请输入学生联系方式:";
                    cin >> contact;
                    system.updateStudent(dormIndex, floor, room, {name, 0, gender, contact});
                    cout << "成功添加学生信息!" << endl;
                } else {
                    cout << "宿舍楼索引无效!" << endl;
                }
                break;
            case 4:
                int dormIndex, floor, room;
                cout << "请输入要查看学生的宿舍楼索引:";
                cin >> dormIndex;
                if (dormIndex >= 0 && dormIndex < system.getDormitoryCount()) {
                    cout << "请输入要查看学生的楼层:";
                    cin >> floor;
                    cout << "请输入要查看学生的房间:";
                    cin >> room;
                    Student student = system.getStudent(dormIndex, floor, room);
                    cout << "学生姓名:" << student.name << endl;
                    cout << "学生学号:" << student.id << endl;
                    cout << "学生性别:" << student.gender << endl;
                    cout << "学生联系方式:" << student.contact << endl;
                } else {
                    cout << "宿舍楼索引无效!" << endl;
                }
                break;
            case 0:
                break;
            default:
                cout << "无效选项,请重新输入!" << endl;
                break;
        }
        cout << endl;
    } while (choice != 0);
    return 0;
}

위의 코드를 이용하면 간단한 학생 기숙사 관리 시스템을 구현할 수 있습니다. 메뉴 옵션에 따라 기숙사 건물 추가, 기숙사 건물 정보 조회, 학생 정보 추가, 학생 정보 조회 등을 할 수 있어 학생 기숙사 정보를 편리하게 관리할 수 있습니다.

결론적으로 C++를 사용하여 간단한 학생 기숙사 관리 시스템을 작성하는 주요 단계에는 학생 및 기숙사 건물의 기본 정보 정의, 관련 클래스 및 기능 작성, 시스템 사용을 시연하기 위한 메인 프로그램 설계가 포함됩니다. 학생 기숙사 관리 시스템을 작성함으로써 C++ 프로그래밍에 대한 이해와 실무 능력을 향상시키는 동시에 학생 기숙사 관리 프로세스에 대한 숙달 및 적용 능력을 향상시킬 수 있습니다.

위 내용은 C++를 사용하여 간단한 학생 기숙사 관리 시스템을 작성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.