上海某高校线上期末题-核酸检测系统C++实现

C语言写疫情防控系统(easyx图形界面) 阅读详情

上海某高校线上期末题-核酸检测系统C++实现

注意:本博客只是以学习交流和记录学习内容为主,分享自己的一些见解和思路,如有不当之处,请告知。

试题内容

在这里插入图片描述

考核要求

在这里插入图片描述

项目文件地址

在github上开源

项目说明文档 README.md(源码中也有此文件)

核酸检测系统

主要功能实现

(a)排队登记.(文件)
(b)检测核酸.(文件)
(1)排队登记
(2)检测核酸
(3)查看排队情况
(4)等级检测结果
(5)各类人员查询
(6)个人查询
(7)构造全员信息表
(8)显示全员信息表

功能测试及细节说明

一些注意事项:

1.运行后请严格按照选项前的标号输入,不得输入奇怪的输入,以免程序出现未知错误。
2.一定先输入7选项,构造全员信息大表。
3.所设计的核酸检测系统中人员代码是有固定范围的。
题目要求如下:人员代码是一个8位(xxxyyyyz)的数字,其中xxx表示楼栋号(000到999);yyyy表示房间号,例如:0801、1801等;z代表一个房间中人员序号(1~9)。
但考虑到实际情况,楼栋数没有那么多,楼层也没有那么高,每家每户的人也没有那么多,实际上前三位楼栋号范围为(001到060),即从1号楼到60号楼。之后四位的前两位表示楼层号,范围为01到12,即十二层楼。再之后的两位表示某一层楼的房间数,这里范围规定为01到04。最后一位表示房间人数,规定范围为1到到4.这样的八位数字表示一个人的人员代码。
4.核酸检测如果是单检,则分配的单检管号首位是1,后面四位是范围0000到9999,按检测顺序流水号分配如果溢出则无效。核酸检测如果是混检,则分配的混检管号首位是0,后面四位是0000到9999,十个人拥有相同的核酸检测管号。同样溢出则无效。
5.人员信息类Person_Information的私有成员变量除了核酸检测管号(string类型)外,还有状态1 s1, 状态2 s2。s1包括Undetected、In_Line、Wait_for_upload_result三种状态,这三种状态依次递进,优先级依次上升。即如果未对某人员做任何操作,则第一个状态s1是默认的Undetected。如果之后他进行了排队,那么状态更新为In_Line,如果再检测核酸则更新为Wait_for_upload_result。如果之后再进行排队程序会覆盖掉之前的状态,变为In_Line,s1的其他状态的覆盖同理。
对于状态s2,包括Negative、Diagnosis、Suspicious、Contact、Sub_Contact共五种状态。对于确诊和阴性这两种情况,均比其他状态的优先级高,可以覆盖其他三种状态,而这两种状态之间可以相互覆盖,这样也是合理的。如果一个人确诊,那么他之前的所有状态都能被推翻,而如果核酸检测又是阴性的话,那么也能覆盖他确诊的状态。剩余三种状态,Suspicous可以覆盖Contact、Negative、Sub_Contact,Contact能覆盖Negative、Sub_Contact,Sub_Contact只能覆盖Negative。这些都是根据实际情况考虑的优先级覆盖关系。

运行指导:

1.打开首先运行程序或打开对应的.exe文件显示出核酸检测系统。
2.先输入数字7,按下enter.构建全员信息大表。
3.然后输入a,按下enter.再输入b,按下enter。
4.此时可以再按下8,查看全员大表状态,会发现第一列是人员代码,按一定顺序排列,第二列是核酸试管号,如果此人还未排队做检测,那么此时他的第二个状态是初始状态null,表示没有核酸管号分配给他。第三列和第四列都是表征人员的状态,此处状态的分类和相互之间的覆盖关系详见注意事项5
5.可以在此时看一下项目从文件里读取的到底是怎样的数据。打开line_up.in,此时读入了18个做混管人的排队,19个做单管人的排队。再打开nucleic_acid_test.in文件,发现检测11个人做混检核酸,检测12个人做单管核酸。注意此时做混检的人数不是10的整数倍,但仍会做出相应的核酸检测,状态修改为Wait_for_upload_result,如果之后还有人排队,比如再来9个人排队,这9个人会和卡面剩下的1人仍然拥有同一个混检试管号,这是通过核酸检测系统类里的私有成员变量实现的。如果混检管数未满采取登记结果操作,不建议这样操作,程序不会将这些人的状态登记,只有后续排满10人才可登记。如果实在需要更改在这种状态下登记,建议采用通过人员代码的方式进行登记,可以选择c选项。
6.验证是否登记成功。
如果输入的试管号不合法,不会进行登记,只有输入正确的试管号,才能找到,并进行相应的登记。
登记混管确诊:
选择4,按下enter;
输入00000,按下enter,即产生的第一个混检试管编号;
输入Diagnosis,按下enter会将这些混管的人员代码相应的状态改为Suspicious
选择5,按下enter;
再选择3,按下enter,展示出Suspicious状态下的人的信息。
选择4,按下enter;
输入10004,按下enter,即登记第五个单检管;他的人员代码从文件中不难看出是05801012
输入Diagnosis,按下enter;
选择5,按下enter;
再选择2,按下enter,展示出Diagnosis状态下的人的信息。
选择5,按下enter;
再选择4,按下enter,展示出Contact状态下的人的信息。
选择5,按下enter;
再选择5,按下enter,展示出Sub_Contact状态下的人的信息。
分析可得,所作操作即所得结果均符合题目要求,程序鲁棒性良好。只是没有针对异常输入的提示语,但如果是不符合规范的输入,不会对程序产生影响。

项目课程考核报告

附在项目源码中(只给出与此题相关部分)

【华为OD】C卷真题 100%通过:精准核酸检测 C/C++实现 广度优先:为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群。现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉。现在给定一组确诊人员编号(X1, X2, X3, .... Xn),在所有人当中,找出哪些人需要进行核酸检测,输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检测)需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人。 阅读详情

相关推荐

【华为OD】C卷真题 100%通过:精准核酸检测 C语言实现

为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群。现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉。现在给定一组确诊人员编号(X1, X2, X3, .... Xn),在所有人当中,找出哪些人需要进行核酸检测,输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检测)需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人。

十年以上编程经验的干货分享 928

C语言核酸检测系统[2023-01-19]

项目九:核酸检测系统1.教学内容实现一个简单的核酸检测系统,业务包括:将被检测人员的信息精准记录在系统中,并实时更据,实现精准监控并快速查询的功能。具体如下:[具体要求](1) 可以录入用户信息,包括普通用户(姓名、性别、年龄、家庭住址、身份证号、工作单位、家庭成员、核酸检测时间、检测结果) 和管理员(姓名、性别、职位)(2) 所有用户均可以实现注册、登录功能,能够显示全部成员信息。

程序设计 2671

【华为OD机试】2024年真题C卷(C++)-精准核酸检测

【华为OD机试】2024年真题C卷(C++)-精准核酸检测:为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群。现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉现在给定一组确诊人员编号(X1,X2,X3...Xn)在所有人当中,找出哪些人需要进行核酸检测,输出需要进行核酸检测的人数。注意:确诊病例自身不需要再做核酸检测)需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人。

u014481728的博客 1333

C/C++校园核酸检测管理程序[2023-12-27]

程序自动产生采集编号,采集员可以输入待检者的身份证号、姓名、采样时间、检测时间、检测机构。然后程序在检测信息表中,增加待检测记录(提示:数据项包括采集编号、待检者的身份证号、姓名、采样时间、检测时间、检测机构、检验结果)。根据学生完成课程设计任务的情况综合打分(课程设计报告工作量占30%,课程设计过程中的考勤及工作态度占20%,课程设计内容完成情况占50%),成绩评定实行优秀、良、中、及格和不及格五个等级。采集员、检测员、待检者。系统功能包括:核酸信息采集、检测结果录入、检测结果查询、检测结果统计。

程序设计 534

企业数字化转型的 4A 架构指南:从概念解读到 TOGAF 阶段对应

4A企业架构是中国数字化转型实践中总结的简化框架,包含业务、应用、数据和技术四个架构层。它自上而下形成业务驱动应用的指导关系,自下而上构建技术支撑数据的实现路径,与国际标准TOGAF核心内容高度对应。该模型通过统一语言、战略对齐和系统梳理,有效连接业务需求与IT实施,已成为企业架构规划的实用工具。其分层结构清晰展示了从业务目标到技术落地的完整推导链,特别适合中国企业的数字化转型场景。

友莘居士的博客 2172

避坑指南:汇川SV660N配合SOEM时,PDO映射与CiA402状态机那些容易出错的地方

本文深入解析汇川SV660N伺服驱动与SOEM主站在PDO动态映射和CiA402状态机切换中的常见问题,提供实战代码和调试技巧。重点解决PDO配置时序、状态机转换同步等关键难点,帮助工程师避免典型错误,实现稳定通信与控制。

weixin_30653023的博客 494

C语言校园核酸检测管理程序[2023-03-17]

实习(实训)任务书一、实习的目的和任务C语言课程设计主要是检验学生运用C语言进行系统开发的能力,以及考查学生综合运用各学科进行开发的能力。主要是通过布置一个小型系统,要求学生在规定时间内完成作品并提交。二、实习成果及成绩考查办法成果:1、选择一个课题并按时完成并提交。2、按要求撰写课程设计报告。

程序设计 961

随机化策略——随机变量rand、约束constraint、权重dist、随机数产生示例

文章目录一、随机变量类型1.1.rand随机变量1.2.randc随机变量二、随机化约束2.1.constraint指定约束范围2.1.1.关系操作符约束(>、<、=、>=、<=)2.1.2.范围操作符约束(inside)2.1.3.权重分布约束(dist)2.1.4.条件约束(if-else; ->)三、启动随机化——randomize( )函数四、关闭或打开随机变...

Mr.翟的博客 2万+

C/C++核酸检测管理系统[2023-02-09]

2022级计科1班《高级语言程序设计》课程设计方案一、工作安排1、完成时间:2023年1月10日—2023年2月10日2、地点安排:因新冠疫情影响,采用线上教学、答疑,验收方式采用线上方式进行。二、课程设计项目及要求1、项目名称:核酸检测管理系统的设计与实现2、目的要求:通过本次课程设计,要求加深对C语言的语法规则、数组、函数、指针、结构体、链表等方面基本内容的理解,体会面向过程的设计思想;自学并尝试使用第10章“对文件的输入输出”中的基础知识。

程序设计 1590

【QGIS】【OsGeo4w】安装方法

every blog every motto: You will never know unless you try 0. 前言 因为目前要使用QGIS,然而环境配置就整了大半天,哎,进行简单记录,方便自己方便他人。 一共分为两种方式安装: 独立安装包 网络安装包(下载osgeo4w-setup) QGIS提供了不同的版本: 长期发行版(LTR) 最新版(LR) 开发人员版本(DEV,母版或测试版) 说明: 本文推荐第二种 1. 正文 1.1 下载osgeo4w 下载链接 下载完成: 1.2

胡侃有料的博客 2万+

【目标检测】yoloV5算法详解

一、与yoloV4相比,yoloV5的改进 输入端:在模型训练阶段,使用了Mosaic数据增强、自适应锚框计算、自适应图片缩放 基准网络:使用了FOCUS结构和CSP结构 Neck网络:在Backbone和最后的Head输出层之间插入FPN_PAN结构 Head输出层:训练时的损失函数GIOU_Loss,预测筛选框的DIOU_nns 二、yoloV5结构框架 CBL:CBL模块是由Conv+BN+Leaky_relu激活函数组成 Res unit:借鉴ResNet中的残差结构,用来构建深层网络,CBM是

qq_40373651的博客 2万+

疫情防控管理系统 C语言版

疫情防控管理系统 C语言版

weixin_52030057的博客 4483

6D位姿估计系列(一)

本研究提出FoundationPose,一个统一的基础模型框架,支持基于CAD模型和无模型的6D物体姿态估计与跟踪。通过神经隐式表示实现高效新视图合成,结合大规模合成数据训练和对比学习策略,模型展现出强大的泛化能力。实验表明,该方法在LINEMOD、YCB-Video等多个基准数据集上显著优于现有专门化方法,处理速度达32Hz,且无需目标域微调。该工作为多场景物体姿态估计提供了通用解决方案。

qq625924821的博客 555

c语言实现校园疫情防控系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录设计任务与自顶向下程序设计图一、具体编程过程难点及设计方法二、源代码反思总结不足与收获 设计任务与自顶向下程序设计图 提示:这里可以添加本文要记录的大概内容: 设计任务: 1.任务选项功能—界面尽可能友好,实现人机交互(让没有编程基础的人也能在指引下完成疫情防控系统的操作) 2.数据输入功能—数据存储采用结构体数组;具有输入提示,分隔符说明 3.算法与统计功能—根据系统设计,实现排序,查找,插入/删除,修改等功能 4.函数层层嵌.

m0_62941656的博客 6483

1、硬件工程师笔面试真题汇总(2025版本)

答:按照使用习惯,电源指示灯用红色,信号指示灯用绿色这两种颜色的LED 灯技术最成熟,价格最便宜通孔是贯穿整个PCB 的过孔盲孔是从PCB 表层连接到内层的过孔埋孔是埋在PCB 内层的过孔。大多数PCB厂家的加工能力是这样的:大于等于8mil 的过孔可以做机械孔小于等于6mil 的过孔需要做激光孔对小于等于6mil 的微型孔,在钻孔空间不够时,允许一部分过打在PCB 焊盘上。

XU157303764的博客 2万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

核酸检测开发方案

核酸检测APP开发方案

mozi196的博客 2888

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C/C++校园疫情防控信息管理系统

C/C++校园疫情防控信息管理系统 题目背景 新冠病毒疫情发生以来,党中央迅速采取防控措施,全国各地 迅速行动,联合防控,全力以赴,展开了一场全国防疫阻击战。经 过全国人民持续的严防死守,无数医护人员的坚持和努力,我国疫 情防控取得了突出成效。但是由于人员流动、病毒变异等原因,疫 情仍旧存在反弹风险。 高校人员密集,人员结构复杂,师生来自全国各地,人员流动 性大,给高校疫情防控带来了极大的挑战。及时、精准和全面掌握 学生健康状况、行程、核酸检测、疫苗接种等情况,保持信息畅通, 通过信息化手段构建一条校内信息

程序设计 6422

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

核酸检测信息管理系统

学习了那么久的Java语法,总体感觉就是Java的语法知识更抽象,知识点也更琐碎。所以是时候来使用学过的知识做一个Java小项目了,一方面是对学过知识的总结,另一方面也可以通过项目来提示自己的编程能力。

LEE180501的博客 4001

C语言——PTA 做核酸

PTA 做核酸

Contrast_的博客 3335

C语言课程设计:新冠疫情管理系统

C语言课程设计:新冠疫情管理系统 功能模块图 函数调用图 改进 1. 注册账户是临时的,退出程序时不会保存。 若想账户永久可用,需要把密码功能改为用文件来存username和password 2. 添加功能:如再一次使用此功能将会请空先前的数据 2. 修改、插入、删除功能:只是根据结点的添加序号来进行的 3. 查询功能:若有相同关键字(如姓名或学号),只会查询到先添加的结点,而不会给出(如有第二个用户信息)提示 4. 读取文件有乱码 /** 用户只能添加、修改、插入、打印报表 name yon

小心星的博客 1万+

c语言数据结构项目——基于Hash表的疫情期间的人员管理系统

C语言数据结构hash表项目——管理系统

qq_65687767的博客 3570

CCF试题---- 称检测点查询的C++代码

试题编号: 202009-1 试题名称: 称检测点查询 时间限制: 1.0s 内存限制: 256.0MB 题目背景 2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。 问题描述 某市设有 n 个核酸检测点,编号从 1 到 n,其中 i 号检测点的位置可以表示为一个平面整数坐标(xi, yi)。 为方便预约核酸检测,请根据市民所在位置(x, y) ,查询距其最近的三个检测点。 多个检测点距离相同

weixin_45763617的博客 470
上一篇: TEXLIVE安装失败卡住问题解决
下一篇: Centos7.9宝塔搭建Hexo博客,实现本地一键自动化部署到服务器
Hudiscount
博客等级 码龄5年 93粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值