c++学习笔记-STL案例-机房预约系统1-准备工作

前言

准备工作包括:需求分析、项目创建、主菜单实现、退出功能实现


目录

1 机房预约系统需求

1.1 简单介绍

1.2 身份介绍

1.3 机房介绍

1.4 申请介绍

1.5 系统具体要求

1.6 预约系统-主界面思维导图

 2 创建项目

2.1 创建项目

2.2 添加文件

​编辑

3 创建主菜单

3.1 菜单实现

3.2 搭建接口 

3.3 代码实现

3.4 结果显示

 4 退出功能实现

4.1 退出功能实现

4.2 测试结果


1 机房预约系统需求

1.1 简单介绍

学校有几个规格不同的机房,由于使用经常出现“撞车”现象,现在开发一套预约系统,解决这一问题。

1.2 身份介绍

分别有三种身份使用该系统

  • 学生代表:申请使用机房
  • 教师:审核学生的预约申请
  • 管理员:给学生、教师创建账号

1.3 机房介绍

机房共三间

  • 1号机房:---最多容纳20人
  • 2号机房:---最多容纳50人
  • 3号机房:---最多容纳100人

1.4 申请介绍

  • 申请的订单每周由管理员负责清空。
  • 学生可以预约未来一周的机房使用,预约日期为周一至周五,预约时需要选择预约时段(上午、下午)
  • 教师来审核预约,依据实际情况审核预约通过或者不通过

1.5 系统具体要求

首先进入登录界面,可选择登录身份:

  • 学生代表
  • 教师
  • 管理员
  • 退出

每个身份需要进行验证:

  • 学生需要输入:学号、姓名、登录密码
  • 老师需要输入:职工号、姓名、登录密码
  • 管理员需要输入:管理员姓名、登录密码

学生具体功能:

  • 申请预约---机房预约
  • 查看自身预约---查看自己的预约状态
  • 查看所有预约---查看全部预约信息以及预约状态
  • 取消预约---取消自身预约,预约成功审核中的预约可以取消
  • 注销登录---退出登录

教师具体功能:

  • 查看所有预约---查看全部预约信息以及预约状态
  • 审核预约---对学生的预约进行审核
  • 注销登录---退出登录

管理员具体功能:

  • 添加账号---添加学生或教师账号,需要检测学生编号或教师职工编号是否重复
  • 查看账号---可以选择查看学生或教师的全部信息
  • 查看机房---查看所有机房的信息
  • 清空预约---清空所有预约记录
  • 注销登录---退出登录

1.6 预约系统-主界面思维导图

 2 创建项目

2.1 创建项目

  • 打卡“visual studio 2019”,选择“创建新项目”,选择“空项目”,选择“下一步”

  • 修改项目名称为“机房预约系统”

2.2 添加文件

  • 在“源文件”处点击右键,选择“添加”,选择“新项目”

  • 选择“c++文件”,修改文件名称为“机房预约系统.cpp” 

3 创建主菜单

功能描述:

  • 设计主菜单,与用户进行交互

3.1 菜单实现

  • 在主函数main()中添加菜单提示

3.2 搭建接口 

  • 接受用户选择,搭建接口
  • 在main()中添加代码

3.3 代码实现

#include<iostream>
using namespace std;int main()
{int select = 0;//用于接收用户的选择while (true){cout << "========================= 欢迎来到机房预约系统 =========================" << endl;cout << endl << "请输入您的身份" << endl;cout << "\t\t -------------------------------------------------" << endl;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 -------------------------------------------------" << endl;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;}

3.4 结果显示

 4 退出功能实现

4.1 退出功能实现

在main()函数分支0选项中,添加退出程序的代码:

cout << "欢迎下次使用" << endl;system("pause");return 0;break;

4.2 测试结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/614215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

页面跳转后,默认选中tree节点并高亮显示

1.场景 操作步骤&#xff1a; 1.点击数据连接数&#xff0c;打开弹窗 2.点击连接状态跳转到数据连接模块 3.默认选中tree的数据源id节点 2.代码 参数解释&#xff1a; 3.实现逻辑 首先将id通过组件传参的方式传过去&#xff0c;数据连接接收后&#xff0c;在tree里设置…

ubuntu 挂载新硬盘

1、检测新硬盘 新增加硬盘&#xff0c;检测硬盘识别情况。 命令检查&#xff1a;sudo fdisk -l 3、格式化磁盘 格式化&#xff1a;sudo mkfs.ext4 /dev/sdb 其中&#xff0c;/dev/sdb是新分区的设备文件名&#xff0c;ext4是要使用的文件系统类型。 4、挂载新分区 sudo mk…

【银行测试】24年金融银行项目,10道高频测试面试题汇总...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 面试题1&#xff…

使用AUTOSAR来开发汽车基础软件的优点

1、高质量。以前我们采用手写代码的方式&#xff0c;是几个工程师在战斗。现在我们采用平台&#xff0c;BSW代码都是供应商提供的&#xff0c;我们相当于后面还有一个团队陪着我们在战斗。 2、低成本。大家都说采用AUTOSAR平台好贵&#xff0c;但是从长远来看是值得的&#xff…

计算机毕业设计----ssm开发的Java快递代拿系统

使用技术 采用 Spring SpringMVC MyBatisPlus&#xff0c;连接池采用 Druid&#xff0c;安全框架使用 Shiro&#xff0c;前端采用 Bootstrap layer 实现。 支付采用支付宝沙箱环境&#xff0c;支付APP下载链接&#xff0c;[点击这里](https://sandbox.alipaydev.com/user/…

SpringBoot中使用SpringEvent业务解耦神器实现监听发布事件同步异步执行任务

场景 SpringBoot中使用单例模式ScheduledExecutorService实现异步多线程任务(若依源码学习)&#xff1a; SpringBoot中使用单例模式ScheduledExecutorService实现异步多线程任务(若依源码学习)-CSDN博客 设计模式-观察者模式在Java中的使用示例-环境监测系统&#xff1a; 设…

GPT实战系列-简单聊聊LangChain

GPT实战系列-简单聊聊LangChain LLM大模型相关文章&#xff1a; GPT实战系列-ChatGLM3本地部署CUDA111080Ti显卡24G实战方案 GPT实战系列-Baichuan2本地化部署实战方案 GPT实战系列-大话LLM大模型训练 GPT实战系列-探究GPT等大模型的文本生成 GPT实战系列-Baichuan2等大模…

SpringBoot中使用LocalDateTime踩坑记录

文章目录 前言一、为什么推荐使用java.time包的LocalDateTime而不是java.util的Date&#xff1f;二、使用LocalDateTime和LocalDate时遇到了哪些坑&#xff1f;2.1 Redis序列化报错2.1.1 问题现象2.1.2 问题分析2.1.3 解决方案 2.2 LocalDateTime和LocalDate类型的属性返回给前…

分享一个实现侧滑菜单的Flutter页面所遇到的问题与解决思路

最近做了一个需要实现侧滑菜单相关的Flutter新页面&#xff0c;页面布局结构稍微比较复杂。因此&#xff0c;做完之后就对研发的过程做出一些整理。 以下主要整理跟侧滑菜单相关的内容。直奔主题&#xff0c;首先&#xff0c;要实现侧滑菜单&#xff0c;有以下几个方案。而本次…

类型特质和静态断言

static_assert( constant-expression, string-literal );static_assert( constant-expression ); // C17 (Visual Studio 2017 and later) constant-expression 可以转换为布尔值的整型常量表达式。 如果计算出的表达式为零 (false)&#xff0c;则显示 string-literal 参数&…

PyTorch|view(),改变张量维度

在构建自己的网络时&#xff0c;了解数据经过每个层后的形状变化是必须的&#xff0c;否则&#xff0c;网络大概率会出现问题。PyToch张量有一个方法&#xff0c;叫做view(),使用这个方法&#xff0c;我们可以很容易的对张量的形状进行改变&#xff0c;从而符合网络的输入要求。…

React 18中新钩子 useDeferredValue 使用

React是一个流行的用于构建用户界面的JavaScript库,它不断发展以为开发人员提供优化性能的工具。 React 18中引入的此类工具之一是useDeferredValue钩子,它旨在通过优先渲染更新来提高应用程序的性能。 useDeferredValue钩子是什么? useDeferredValue钩子是React性能优化工…

SAP PP配置学习(五)

查找 四、 其它 设置 MM 过帐号码范围 定义凭证号码范围 OB52 打开期间 MMPV 开帐 &#xff08;下篇见&#xff09;

K-【学习Diffusers 四】 读取模型参数 bin格式、safetensors格式

该操作多用于推理 safetensors格式的参数读取方法 1 拿到pipeline中的unet的办法 unet pipeline.pipe.unet 2 safetensors格式文件的参数读取方法 state_dict safetensors.torch.load_file(args.model_id, device"cpu") unet.load_state_dict(state_dict) # 读入…

随心玩玩(十二)通义千问——LLM大模型微调

写在前面&#xff1a;使劲的摸鱼&#xff0c;摸到的鱼才是自己的~ 文章目录 简介环境配置模型加载jupyter远程配置快速使用微调示例部署方案总结附录&#xff1a; ReAct Prompting 示例准备工作一&#xff1a;样例问题、样例工具准备工作二&#xff1a;ReAct 模版步骤一&#x…

MySQL:DML数据操作语言(添加,删除,修改),DDL数据查询语言(条件查询,分组查询,排序查询,分页查询)

目录 1.DML&#xff08;数据操作语言&#xff09;1.添加数据2.修改数据3.删除数据 2.DQL(数据查询语言)1.DQL-语法2.基本查询3.条件查询(WHERE)1.语法&#xff1a;2.条件&#xff1a;3.案例: 4.聚合函数1.介绍2.常见聚合函数3.语法4.案例 5.分组查询&#xff08;GROUP BY&#…

物联网通讯协议NB-lot和LoRa差异分析

像把大象装冰箱一样&#xff0c;物联网&#xff0c;万物互联也是要分步骤的。 一、感知层(信息获取层)&#xff0c;即利用各种传感器等设备随时随地获取物体的信息; 二、网络层(信息传输层)&#xff0c;通过各种电信网络与互联网的融合&#xff0c;将物体的信息实时准确地传递…

力扣LCR 166. 珠宝的最高价值(java 动态规划)

Problem: LCR 166. 珠宝的最高价值 文章目录 解题思路思路解题方法复杂度Code 解题思路 思路 改题目与本站64题实质上是一样的&#xff0c;该题目在64题的基础上将求取最小路径和改成了求取最大路径和。具体实现思路如下&#xff1a; 1.定义一个int类型的二维数组dp大小为给定…

17- Echarts 配置系列之:单轴 singleAxis

singleAxis&#xff1a; 用于展示只有一个数据维度的数据。它通常用于展示时间序列数据或者数值序列数据。 对于单轴的应用和绘制&#xff0c;其实就相当于我们平时的直角坐标系少一个 X 或者 Y &#xff0c;然后进行图形绘制。 注意&#xff1a; 1.在使用单轴时&#xff0…

1.10号io网络

信号量&#xff08;信号灯集&#xff09; 1> 信号灯集主要完成进程间同步工作&#xff0c;将多个信号灯&#xff0c;放在一个信号灯集中&#xff0c;每个信号灯控制一个进程 2> 每个灯维护了一个value值&#xff0c;当value值等于0时&#xff0c;申请该资源的进程处于阻…