教室使用管理系统c++代码
时间: 2023-09-26 08:09:33 浏览: 49
以下是一个简单的教室使用管理系统的 C++ 代码实现,仅供参考:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义教室类
class Classroom {
public:
Classroom(int id, string name, int capacity) {
m_id = id;
m_name = name;
m_capacity = capacity;
}
int getID() {
return m_id;
}
string getName() {
return m_name;
}
int getCapacity() {
return m_capacity;
}
private:
int m_id; // 教室编号
string m_name; // 教室名称
int m_capacity; // 教室容量
};
// 定义预约类
class Reservation {
public:
Reservation(int classroomID, string username, string date, string time) {
m_classroomID = classroomID;
m_username = username;
m_date = date;
m_time = time;
}
int getClassroomID() {
return m_classroomID;
}
string getUsername() {
return m_username;
}
string getDate() {
return m_date;
}
string getTime() {
return m_time;
}
private:
int m_classroomID; // 预约的教室编号
string m_username; // 预约人姓名
string m_date; // 预约日期
string m_time; // 预约时间
};
// 定义教室管理系统类
class ClassroomManagementSystem {
public:
// 添加教室
void addClassroom(int id, string name, int capacity) {
Classroom classroom(id, name, capacity);
m_classrooms.push_back(classroom);
}
// 预约教室
bool reserveClassroom(int classroomID, string username, string date, string time) {
// 检查教室是否存在
bool classroomExists = false;
for (int i = 0; i < m_classrooms.size(); i++) {
if (m_classrooms[i].getID() == classroomID) {
classroomExists = true;
break;
}
}
if (!classroomExists) {
cout << "教室不存在!" << endl;
return false;
}
// 检查预约是否冲突
for (int i = 0; i < m_reservations.size(); i++) {
if (m_reservations[i].getClassroomID() == classroomID &&
m_reservations[i].getDate() == date &&
m_reservations[i].getTime() == time) {
cout << "预约冲突!" << endl;
return false;
}
}
// 添加预约记录
Reservation reservation(classroomID, username, date, time);
m_reservations.push_back(reservation);
cout << "预约成功!" << endl;
return true;
}
// 获取教室使用情况
void getClassroomUsage() {
for (int i = 0; i < m_classrooms.size(); i++) {
int classroomID = m_classrooms[i].getID();
string classroomName = m_classrooms[i].getName();
int capacity = m_classrooms[i].getCapacity();
int usageCount = 0;
// 统计教室使用次数
for (int j = 0; j < m_reservations.size(); j++) {
if (m_reservations[j].getClassroomID() == classroomID) {
usageCount++;
}
}
// 输出教室使用情况
cout << "教室编号:" << classroomID << endl;
cout << "教室名称:" << classroomName << endl;
cout << "教室容量:" << capacity << endl;
cout << "使用次数:" << usageCount << endl;
cout << endl;
}
}
private:
vector<Classroom> m_classrooms; // 教室列表
vector<Reservation> m_reservations; // 预约列表
};
int main() {
ClassroomManagementSystem system;
// 添加教室
system.addClassroom(1, "101教室", 50);
system.addClassroom(2, "102教室", 60);
system.addClassroom(3, "103教室", 70);
// 预约教室
system.reserveClassroom(1, "张三", "2022-01-01", "14:00");
system.reserveClassroom(1, "李四", "2022-01-02", "16:00");
system.reserveClassroom(2, "王五", "2022-01-03", "10:00");
// 获取教室使用情况
system.getClassroomUsage();
return 0;
}
```
以上仅是一个简单的实现,实际的教室使用管理系统需要根据实际需求进行更加细致的设计和开发。