C++ 机房预约系统(一):系统整体介绍和分析、系统具体需求分析、项目创建和文件添加、系统主菜单界面、系统接口和框架搭建、退出功能实现
创始人
2025-05-31 11:41:14

机房预约系统

在这个系统中,综合运用面向对象、泛型编程、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、创建主菜单

功能描述: 设计主菜单,与用户进行交互

实现步骤:

  1. 在主函数main中添加菜单提示界面,并让用户选择功能进行输入
  2. 在主函数main中接受用户的选择,搭建接口
  3. 注意,用户只能输入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 << "欢迎下一次使用"<

测试效果如图:

相关内容

热门资讯

白俄罗斯向乌克兰移交114人 当地时间13日,白俄罗斯向乌克兰移交114人。乌克兰国防部情报总局局长布达诺夫到场,迎接被移交人员。...
高峰对话:Agent能走多快,... 要让Agent成为工作助手,需要破解哪些环节?文|《中国企业家》记者 闫俊文编辑|何伊凡见习编辑|李...
马竞2:1险胜瓦伦西亚!主场1... 在西甲联赛第16轮的焦点对决中,马德里竞技坐镇主场迎战瓦伦西亚。最终,凭借科克和格列兹曼的进球,马竞...
如何重构新消费?5位消费公司掌... 好产品才能赢得消费者的心。文|《中国企业家》记者 胡楠楠编辑|米娜图片来源|中企图库12月6~7日,...
12亿存款“失踪”案,最新进展 昨天(12月12日),据证监会发布,经查,浙江优策投资管理有限公司(以下简称优策投资)及实际控制人存...