- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
医院病床安排算法
目录目录I1 课程设计内容11.1 课程设计目的11.2 课程设计要求11.3 课程设计背景12 概要设计22.1 程序模块结构图22.2 主界面模块说明22.3 病人模块说明22.3.1 病人数据模块说明22.3.2 状态显示模块说明22.3.3 病人初始化模块说明22.3.4 看病模块(递归)说明22.4 系统模块说明22.4.1 系统界面模块说明22.4.2 随机数模块说明32.4.3 队列处理模块说明33 详细设计43.1 主程序的实现43.2 病人模块的实现43.2.1 病人数据模块的实现43.2.2 状态显示模块的实现43.2.3 病人初始化模块的实现53.2.4 看病模块的实现73.3 系统模块的实现83.3.1 系统界面模块的实现83.3.2 随机数模块的实现83.3.3 队列处理模块的实现84 运行结果114.1 输入114.2 模拟病人看病流程11小结14参考文献151 课程设计内容1.1 课程设计目的课程设计题目:医院病床安排需求分析:根据自己的选题,书写相关的文字说明。总体结构设计:绘制所选题目系统的功能模块图(函数)及相关说明。各子模块设计:各子模块的程序流程图及相关说明。编程实现:选定C或C++语言对各子模块进行编程并进行集成。测试结果:输入数据、输出结果的图示。总结:总结课程设计的过程、体会及建议。1.2 课程设计要求随机产生n个病人,现医院有m张病床,m张病床上当前已经有p(p=m)位正在住院的病人,每个已经住院或准备住院的病人都有对应自身的住院时长。合理安排所有病人,使所有病人在最短等待时间完成住院治疗。病人看病的流程是:挂号,排队等待安排住院时间,住院,手术,出院等几个阶段。医院实行先到先服务的原则。既如果问诊时有剩余床位,可立即入住,如果没有,则排队等待,同时医院对急诊病人有特殊照顾,如果是外伤,则不需要排队,可直接接受服务。既外伤病人有较高的优先权。其排队流程可如下图所示:因为病人n是确定的常数,我们在分析该问题时不考虑后面病人的增加,平均等待时间=总等待时间/病人总数,因为病人总数n是确定的,所以只要下去分析如何使总等待时间最小就行。1.3 课程设计背景医院病床利用统计是医院信息管理最活跃的要素之一,合理分析床位利用情况对于提高医院经济效益,改善病房管理,挖掘潜力增强服务能力等有十分重要的意义。当该住院部对全体非急症病人是按照FCFS(First come, First serve)规则安排住院,但等待住院病人队列却越来越长,医院希望能通过某种方式来解决该住院部的病床合理安排问题,以提高对医院资源的有效利用。为此,我们引进高响应比优先(High-priority response ratio)算法。2 概要设计2.1程序模块结构图图2-1 程序结构模块图2.2主界面模块说明主界面模块提供本程序的功能菜单,使本程序各个功能一目了然,给用户一个直观的使用体验,方便用户简单快捷的使用本程序。2.3病人模块说明2.3.1病人数据模块说明这个模块用struct包装病人数据,并放在3个队列中。一个是未入院病人列表,一个是等待病人列表,另一个是正在治疗列表。2.3.2状态显示模块说明这个模块用于实现显示所有病人的实时状态,通过列表的方式直观的显示在界面上。2.3.3病人初始化模块说明这个模块用于初始化所有病人数据,同时建立3个队列。2.3.4看病模块(递归)说明这个模块用于实现对病人的处理以及调动。2.4系统模块说明2.4.1系统界面模块说明这个模块用于显示系统的标题画面,以及等待画面。2.4.2随机数模块说明这个模块用于生成随机数来支持病人初始化模块的运行。2.4.3队列处理模块说明这个模块用于处理病人队列,实现对病人队列的插入、取出、删除、排序等功能,来支持看病模块中对病人的3个队列处理。3 详细设计3.1 主程序的实现主程序通过获得输入数据和调用其他模块来实现整个系统的功能。以上过程的主要实现代码如下:#include iostream#includepatient.hint main(intargc, char** argv) {intn,m,p,w=0;//n:未看病病人,m:病床数,p:已入住病人,w:等待人数patient inList[100];//未看病病人列表patient waitList[100];//等待列表patient treatList[100];//治疗列表////////病人初始化////////// patient_init(n,m,p,w,inList,waitList,treatList);////////看病////////// see_doctor(n,m,p,w,inList,waitList,treatList);return 0;}3.2 病人模块
文档评论(0)