如何使用C++編寫一個簡單的學(xué)生宿舍管理系統(tǒng)?
學(xué)生宿舍管理系統(tǒng)是一個可以方便管理學(xué)生宿舍信息的軟件系統(tǒng)。使用C++編寫一個簡單的學(xué)生宿舍管理系統(tǒng)不僅可以鍛煉編程技能,還可以提高對學(xué)生宿舍管理流程的理解和把握。本文將介紹如何使用C++編寫一個簡單的學(xué)生宿舍管理系統(tǒng)。
首先,我們需要定義學(xué)生宿舍的基本信息,包括學(xué)生姓名、學(xué)號、性別、聯(lián)系方式等。我們可以使用一個結(jié)構(gòu)體來存儲這些信息,如下所示:
struct Student { string name; int id; string gender; string contact; };
登錄后復(fù)制
接下來,我們需要定義宿舍樓的基本信息,包括宿舍樓號、樓層數(shù)、每層宿舍房間數(shù)等。我們可以使用一個類來表示宿舍樓,如下所示:
class Dormitory { private: int number; int floors; int roomsPerFloor; vector<vector<Student>> rooms; public: // 構(gòu)造函數(shù) Dormitory(int n, int f, int r) { number = n; floors = f; roomsPerFloor = r; rooms.resize(floors, vector<Student>(roomsPerFloor)); } // 獲取宿舍樓號 int getNumber() { return number; } // 獲取樓層數(shù) int getFloors() { return floors; } // 獲取每層宿舍房間數(shù) int getRoomsPerFloor() { return roomsPerFloor; } // 獲取指定房間的學(xué)生信息 Student getStudent(int floor, int room) { return rooms[floor][room]; } // 更新指定房間的學(xué)生信息 void updateStudent(int floor, int room, Student student) { rooms[floor][room] = student; } };
登錄后復(fù)制
然后,我們可以定義一個學(xué)生宿舍管理系統(tǒng)類,包含學(xué)生宿舍樓的管理功能。我們可以使用一個向量來存儲不同的宿舍樓,如下所示:
class DormitoryManagementSystem { private: vector<Dormitory> dormitories; public: // 添加宿舍樓 void addDormitory(int number, int floors, int roomsPerFloor) { dormitories.push_back(Dormitory(number, floors, roomsPerFloor)); } // 獲取宿舍樓個數(shù) int getDormitoryCount() { return dormitories.size(); } // 獲取指定宿舍樓對象 Dormitory getDormitory(int index) { return dormitories[index]; } // 獲取指定宿舍樓的房間數(shù) int getRoomCount(int index) { return dormitories[index].getFloors() * dormitories[index].getRoomsPerFloor(); } // 獲取指定宿舍樓指定房間的學(xué)生信息 Student getStudent(int index, int floor, int room) { return dormitories[index].getStudent(floor, room); } // 更新指定宿舍樓指定房間的學(xué)生信息 void updateStudent(int index, int floor, int room, Student student) { dormitories[index].updateStudent(floor, room, student); } };
登錄后復(fù)制
最后,我們可以編寫一個主程序,來演示學(xué)生宿舍管理系統(tǒng)的使用。主程序可以提供菜單功能,包括添加宿舍樓、查看宿舍樓信息、添加學(xué)生信息、查看學(xué)生信息等。下面是一個簡單的主程序示例:
int main() { DormitoryManagementSystem system; int choice; do { cout << "1. 添加宿舍樓" << endl; cout << "2. 查看宿舍樓信息" << endl; cout << "3. 添加學(xué)生信息" << endl; cout << "4. 查看學(xué)生信息" << endl; cout << "0. 退出" << endl; cout << "請輸入選項:"; cin >> choice; switch (choice) { case 1: int number, floors, roomsPerFloor; cout << "請輸入宿舍樓號:"; cin >> number; cout << "請輸入樓層數(shù):"; cin >> floors; cout << "請輸入每層宿舍房間數(shù):"; 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 << "樓層數(shù):" << dorm.getFloors() << endl; cout << "每層宿舍房間數(shù):" << dorm.getRoomsPerFloor() << endl; cout << "總房間數(shù):" << system.getRoomCount(index) << endl; } else { cout << "宿舍樓索引無效!" << endl; } break; case 3: int dormIndex, floor, room; string name, gender, contact; cout << "請輸入要添加學(xué)生的宿舍樓索引:"; cin >> dormIndex; if (dormIndex >= 0 && dormIndex < system.getDormitoryCount()) { cout << "請輸入學(xué)生所在樓層:"; cin >> floor; cout << "請輸入學(xué)生所在房間:"; cin >> room; cout << "請輸入學(xué)生姓名:"; cin >> name; cout << "請輸入學(xué)生性別:"; cin >> gender; cout << "請輸入學(xué)生聯(lián)系方式:"; cin >> contact; system.updateStudent(dormIndex, floor, room, {name, 0, gender, contact}); cout << "成功添加學(xué)生信息!" << endl; } else { cout << "宿舍樓索引無效!" << endl; } break; case 4: int dormIndex, floor, room; cout << "請輸入要查看學(xué)生的宿舍樓索引:"; cin >> dormIndex; if (dormIndex >= 0 && dormIndex < system.getDormitoryCount()) { cout << "請輸入要查看學(xué)生的樓層:"; cin >> floor; cout << "請輸入要查看學(xué)生的房間:"; cin >> room; Student student = system.getStudent(dormIndex, floor, room); cout << "學(xué)生姓名:" << student.name << endl; cout << "學(xué)生學(xué)號:" << student.id << endl; cout << "學(xué)生性別:" << student.gender << endl; cout << "學(xué)生聯(lián)系方式:" << student.contact << endl; } else { cout << "宿舍樓索引無效!" << endl; } break; case 0: break; default: cout << "無效選項,請重新輸入!" << endl; break; } cout << endl; } while (choice != 0); return 0; }
登錄后復(fù)制
通過以上代碼,我們可以實現(xiàn)一個簡單的學(xué)生宿舍管理系統(tǒng)。用戶可以根據(jù)菜單選項進(jìn)行添加宿舍樓、查看宿舍樓信息、添加學(xué)生信息和查看學(xué)生信息等操作,從而方便地管理學(xué)生宿舍信息。
總結(jié)起來,使用C++編寫一個簡單的學(xué)生宿舍管理系統(tǒng)的關(guān)鍵步驟包括定義學(xué)生和宿舍樓的基本信息,編寫相關(guān)的類和函數(shù),并設(shè)計主程序來演示系統(tǒng)的使用。通過編寫學(xué)生宿舍管理系統(tǒng),我們可以提高對C++編程的理解和實踐能力,并同時提升對學(xué)生宿舍管理流程的掌握和應(yīng)用能力。