机房预约系统
在这个系统中,综合运用面向对象、泛型编程、STL所学的知识,搭建一个机房预约系统。以下先介绍系统、分析系统的框架和具体需求来展开机房预约系统的建立。
1、机房预约系统需求
1.1 系统简介
学校现有几个规格不同的机房,由于使用时经常出现"撞车"现象,现开发一套机房预约系统,解决这一问题。
1.2 身份简介
分别有三种身份使用该程序
- 学生代表:申请使用机房
- 教师:审核学生的预约申请
- 管理员:给学生、教师创建账号
1.3 机房简介
机房总共有3间
- 1号机房 — 最大容量20人
- 2号机房 — 最多容量50人
- 3号机房 — 最多容量100人
1.4 申请流程
- 申请的订单每周由管理员负责清空。
- 学生可以预约未来一周内的机房使用,预约的日期为周一至周五(为了简化不做具体是日期预约),预约时需要选择预约时段(上午、下午)
- 教师来审核预约,依据实际情况审核预约通过或者不通过
1.5 系统具体需求
- 首先进入登录界面,可选登录身份有:
- 学生代表
- 老师
- 管理员
- 退出
- 每个身份都需要进行验证后,进入子菜单
- 学生需要输入 :学号、姓名、登录密码
- 老师需要输入:职工号、姓名、登录密码
- 管理员需要输入:管理员姓名、登录密码
- 学生具体功能
- 申请预约 — 预约机房
- 查看自身的预约 — 查看自己的预约状态
- 查看所有预约 — 查看全部预约信息以及预约状态
- 取消预约 — 取消自身的预约,预约成功或审核中的预约均可取消
- 注销登录 — 退出登录
- 教师具体功能
- 查看所有预约 — 查看全部预约信息以及预约状态
- 审核预约 — 对学生的预约进行审核
- 注销登录 — 退出登录
- 管理员具体功能
- 添加账号 — 添加学生或教师的账号,需要检测学生编号或教师职工号是否重复
- 查看账号 — 可以选择查看学生或教师的全部信息
- 查看机房 — 查看所有机房的信息。后期可以添加机房、修改机房等优化。
- 清空预约 — 清空所有预约记录
- 注销登录 — 退出登录
1.6 思维导图
2、创建项目
创建项目步骤如下:
-
打开vs后,点击创建新项目,创建新的C++项目
-
右键源文件,进行添加文件操作
3、创建主菜单
功能描述: 设计主菜单,与用户进行交互
实现步骤:
- 在主函数main中添加菜单提示界面,并让用户选择功能进行输入
- 在主函数main中接受用户的选择,搭建接口
- 注意,用户只能输入0、1、2、3会重新回到界面,输入其他提示输入有误,清屏后重新选择
菜单提示实现代码展示:
int main() {
cout << "====================== 欢迎来到传智播客机房预约系统 ====================="
<< endl;
cout << endl << "请输入您的身份" << endl;
cout << "\t\t -------------------------------\n";
cout << "\t\t| |\n";
cout << "\t\t| 1.学 生 |\n";
cout << "\t\t| |\n";
cout << "\t\t| 2.老 师 |\n";
cout << "\t\t| |\n";
cout << "\t\t| 3.管 理 员 |\n";
cout << "\t\t| |\n";
cout << "\t\t| 0.退出系统 |\n";
cout << "\t\t| |\n";
cout << "\t\t -------------------------------\n";
cout << "输入您的选择: ";
system("pause");
return 0;
}
测试效果如图:
搭建接口代码展示:
int main() {
int select = 0;
while (1)
{
cout << "====================== 欢迎来到传智播客机房预约系统 ====================="
<< endl;
cout << endl << "请输入您的身份" << endl;
cout << "\t\t -------------------------------\n";
cout << "\t\t| |\n";
cout << "\t\t| 1.学 生 |\n";
cout << "\t\t| |\n";
cout << "\t\t| 2.老 师 |\n";
cout << "\t\t| |\n";
cout << "\t\t| 3.管 理 员 |\n";
cout << "\t\t| |\n";
cout << "\t\t| 0.退出系统 |\n";
cout << "\t\t| |\n";
cout << "\t\t -------------------------------\n";
cout << "输入您的选择: ";
cin >> select;
switch (select)
{
case 1://学生
break;
case 2://老师
break;
case 3://管理员
break;
case 0://退出
break;
default:
cout << "您的输入有误,请重新输入!" << endl;
system("pause");
system("cls");
break;
}
}
system("pause");
return 0;
}
测试效果如图:
4、退出功能实现
在main函数分支 0 选项中,提示用户,再按任意键,最后直接return即可。添加退出程序的代码:
cout << "欢迎下一次使用"<<endl;
system("pause");
return 0;
测试效果如图: