首頁  >  文章  >  後端開發  >  如何使用C++寫一個簡單的學生宿舍管理系統?

如何使用C++寫一個簡單的學生宿舍管理系統?

WBOY
WBOY原創
2023-11-03 08:07:411008瀏覽

如何使用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