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

机房预约系统

在这个系统中,综合运用面向对象、泛型编程、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 << "欢迎下一次使用"<

测试效果如图:

相关内容

热门资讯

湖北一男子当街拦车砸玻璃 警方... 12月20日,湖北大冶市网民发视频称,一名男子在新冶大道附近当街拦车砸玻璃,期间车外有女童哭喊。21...
综艺节目停办,主办方致歉 近日,“哀牢山荒野求生赛事”引发关注。12月20日,记者注意到,该活动主办单位浙江柏杨文化产业发展有...
芯片,重磅突发!全球首款! 转自:证券时报网手机芯片,进入2nm时代!芯片领域,传来一则重磅消息:日前,三星电子正式推出Exyn...
真的有鬼谷子这个人吗?要是真有... 试问春秋战国时的第一牛人是谁?既不是孔子,也不是孟子。既不是老子,也不是庄子。那么此人是谁?没错,正...
僧人因哪位皇帝终身吃素?据说此... 佛教源于印度,经过印度传来中国的佛教体系又有不少,最著名的三大体系即汉传佛教,藏传佛教,以及云南地区...