数据结构与算法的设计与实现-课程设计实验报告_第1页
数据结构与算法的设计与实现-课程设计实验报告_第2页
数据结构与算法的设计与实现-课程设计实验报告_第3页
数据结构与算法的设计与实现-课程设计实验报告_第4页
数据结构与算法的设计与实现-课程设计实验报告_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0举中科技大掌课程设计报告题目:数据结构与算法的设计与实现2015年3月7号1任务书传统队列是一种符合先插入的元素必须先删除(FIFO)的处理逻辑,这不总是满足应用要求;很多时候需要优先级高的任务先处理(即后插入的可能先删除)。(1)基于堆的概念设计优先级队列(PriorityQueue)抽象数据类型,至少包含Init_PriorityQue,Destroy_PriorityQue,Clear_PriorityQue,PriorityQue_Full等操作;(2)选择适当的物理存储结构实现优先级队列ADT;(1)仿真事件(如病人到达,病情复杂度/就诊时间,病人离开等)可根据某种(2)要求对各种算法进行理论分析,同时也对实测结果进行统计分析。测试数(3)要求界面整洁、美观,操作方便。参考文献[1]严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社,1997[2]严蔚敏,吴伟民,米宁.数据结构题集(C语言版).北京:清华大学出版2目录任务书 I 31.1课题背景与意义 31.1.1课题背景 3 31.2国内外研究现状 41.3课程设计的主要研究工作 52系统需求分析与总体设计 62.1系统需求分析 62.2系统总体设计 82.3系统设计原理 93系统详细设计 3.1有关数据结构的定义 3.2主要算法设计 4系统实现与测试 4.1系统实现 4.2系统测试 5总结与展望 5.1总结 5.2工作展望 6体会 参考文献 附录 31.1课题背景与意义在中国往往排队3小时看病3分钟,在大型医院里每天都会接待非常多的病往往会耽误病情严重的人及时治疗,这时就要提出更好的办我们知道在大型医院里,每天需要接治1000多名患者,排队挂号成了一个假设,现在有5名患者需要就医,分别是1号,2号,3号,4号和5号。其中3号和5号,很严重,有生命危险,需要尽快得到医治。但是1和2都排在3号前面那该怎么办呢?当然,如果按顺序叫救治的话是没错,可人命关天,这通过数据结构实现医院站队看病问题,并指出以“先重后轻,先到先看”的原则。为重病患者抓紧了最佳的治疗时间,同时也保证医院的秩序。4我通过上网查阅资料调查发现,看病难和看病贵,确实在世界范围内具有一定的普遍性。英国和加拿大为例。英国医保财政负担重,羊毛出在羊身上英国实行全民医保几十年过程中,出现了开支庞大、医院渎职、误诊误药、医生欺诈等许多问题,其中效率低下是饱受批评的弊病之一。在社区医疗中心,为见指定的全科医生坐等4个小时之久,做一项化验要了医生护士给做点咨询外,几乎得不到什么立即治疗。病人住院等几个月床位也是常事。所以不少英国民众为了能更快得到治疗,就直接去看急诊,造成很多急诊部人满为患,医护人员超负荷运转,医疗质量难以保障。加拿大公费医疗是不错,就是排队时间长根据弗雷泽研究所2013年的统计,加拿大的患者从家庭医生推荐到专科医生看病等待的平均时间为17.8个星期;平均等待CT诊断的时间大约为1个月,等待一般性B超时间为4周。除了做手术、做检查等候时间长,即使患者进行一个普通的血液化验,也要等候半个月时间才能获得化验结果,而根据化验结果再去复诊,又要几个星期甚至几个月的等候时间。因此,有的患者干脆不论病情紧急与否,先去急诊室就医。国内预约挂号模式的发展与现状(一)预约挂号:预约挂号是相对于即时门诊挂号而言的挂号模式,指病人通过现场预约、复诊预约、电话或网络预约等形式,选择就诊医院、就诊学科、就诊专家及就诊时间的门诊挂号方式。这种形式既能有效地缓解病人挂号难的问题,也为病人合理安排就诊时间、为医院科学组织门诊医师出诊提供了可靠的依据[1]。(二)预约挂号模式:国内预约挂号模式是随着社会各个领域的发展而形成的一种社会需要的服务项目,主要有以下几种模式:51.门诊现场预约是较早的一种挂号模式:包括挂号窗口预约、护士站候诊区预约、分诊服务中心预约3种方式。随着信息技术的发展,病人通过在医院放2.电话预约挂号分为系统自动挂号(或)和人工挂号两种形式:自动挂号号是指病人拨通预约电话后。在服务人员协助下,完成预约挂号操作。3.网络预约挂号系统是一种基于互联网的新型挂号系统,也是目前预约挂号进行数天1.3课程设计的主要研究工作地管理海量信息已成为企事业单位能否高效运行的关键所在。而利用计算机技(1)病人到达珍室,将病历本交给护士,护士根据病人的病情指定优先级,病人要求编程模拟这一过程。程序采用菜单选择方式,其选项功能说明如下:(4)不在排队,余下依次就诊--从队首到队尾列出所有派队病人病历号,退出运62系统需求分析与总体设计Q:假设一个病人想要看病,那么计算机会怎样排列他的位置呢?A:病人应该先挂号,即取得编号。之后根据病人的病情,来划分病情的等级。然后,输入挂号的类型(“1”就医或“2”急诊),计算机将自动划分他的(1)首先,求诊病人必须得到编号,也就是先挂号。(2)然后,医院将根据病情划分等级,分为普通病人和急诊病人。(普通病人挂就医号。急诊病人挂急诊号)(4)如果出现病情等级相同的情况时,程序将按编号的先后顺序给出相应结(5)工作人员查看结果后,对病人进行合理的救治2.2系统总体设计系统的流程图(如图3-1所示)2急诊挂号3医职人员0退出程序1就医挂号图3-1系统流程图7程序流程图排队程序,根据功能提示,选择相应的功能。依照屏幕的提示,患者可以得知其排队的状况。然后,根据编号的先后进行最后的就医过程。查看屏幕提示。流程图,如图3-2所示。开始功能选择界面输入功能的序号N选项是否正确Y进一步确认输出最终结果结束8病人ABCDE功能选择12212表3-1排序过程图,如图3-3所示(b)分裂92.3设计原理计语言。最初为unix而生。它既有高级语言的特点,又具有汇编语言的特点。言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。写、类C语言的算法转换成C(C++)程序并上机调试的基本方法,还要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据3系统详细设计3.1有关数据结构的定义#defineMAXQSIZE100//存储空间分配初始量码将以2000后开始//链队的定义*函数功能:生成一个空优先级队列L.*输出参数:无*函数功能:销毁优先级队列.*输入参数:队列结构指针的指针L*输出参数:无*函数名称:Destroy_PriorityQue*函数功能:销毁优先级队列.*输入参数:队列结构指针的指针L*输出参数:无*函数功能:清空优先级队列.*输入参数:队列结构指针L*输出参数:无*函数功能:检验队列是否为空.*输入参数:队列结构指针L*输出参数:无*函数功能:检验队列是否已满.*输入参数:队列结构指针L*输出参数:无*函数功能:医生登陆查看病人病情系统*输入参数:无*返回值:无*输入参数:无*返回值:无voidInitlnterface();//初始化界面voidDoctor(intz);/医生看病系统4系统实现与测试本次课程设计采用vc++6.0集成环境进行设计。开发平台。有些软件就是这个编出来的,另外还有VB,VF。只是使用不同语言。代码共享的二进制标准,需要掌握其基本原理等等。VC作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对可以把C++看作为一种“工业标准”,而VC++则是某种操作系统平台下的“厂商标准”,而“厂商标准”是在遵循“工业标准”的前提下扩展而来的。不可少的,因为大量的技术文档多以英文形式发布。说VC在Windows平台无所不能。最大缺点是开发效率不高。>VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层的调用。在VC里边嵌入汇编语言很简单。>VC执行效率高,当对系统性能要求很高的时候,可用VC开发。>VC主要适用于游戏开发。>VC多用于单片机,工业控制等软件开发,如直接对I/0地址操作,就要>VC可以开发优秀的基于通信的程序。>VC可以开发高效灵活的文件操作程序。>VC可以开发灵活高效的数据库操作程序。本功能主要包含5个模块:(1)首先,求诊病人必须得到编号,也就是先挂号。(2)然后,医院将根据病情划分等级,分为普通病人和急诊病人。(普通病人挂就医号。急诊病人,挂急诊号。)(4)如果出现病情等级相同的情况时,程序将按编号的先后顺序给出相应结果。(5)工作人员查看结果后,对病人进行合理的救治4.2系统测试运行界面图如图4-1:挂挂人系医诊职H就急医询收日图4-1程序界面图就医(普通病人)挂号图,如图4-2:欢迎来到本医院排队就诊1.烦当前的位为;此系统将以确医离人的挂每优先在菲队的位置司很会有改蛋一图4-2挂号图急诊挂号图,如图4-3:0、0、退出系2—现在时间是:2:20—推挂人系就急医退医院人员登陆界面,如图4-4:号号员统挂人号号员统挂人2、急诊3请输入你的工作通行证:记住密码请输入y.否者输入其他:4-4医院人员登陆5总结与展望病,普通病人后看病,例如挂一个普通病号此时他的位置为1,挂一个急诊病号那么他的位置就为2,在挂一个急诊病号那么就按照时间的先后顺序,我觉得这1、通过实验还提高了一点改错能力,对于一些常见问题加深了印象。2、编程需要有耐心,尤其实在单步调试的时候,更是马虎不得,有时候关错误,也要勇于推翻自己之前的思路,要坚信“没有也为了方便自己以后程序的更改与进一步的完善。1,进一步起强化学习意识2,进一步强化职责意识感,认真做好职责范围内和领导交办的工作任务,不好高骛远,也不庸人自扰,3,进一步端正学习态度4,虚心向他人请教6体会实验非常贴合实际,让我们在完成作业的同时也能增加对民生国情的了解。关系,这样是不合理也是不公平的。我觉得在目前来说,1,提高社区医疗服务,这样的话一些普通的病我们都不用非得到大医院去排几个小时才能治病。2,简化医院挂号手续,护士要对病情进行优先级排序让重病得到及时的治疗。3,医境,必须有一支道德高尚、医术精良的医务人员队伍。这两个因素缺一不可。没有“号贩子”,看病就不再难吗?“号贩子”是可恨的!对有可能与之沆瀣一气、利益共享的医护人员和保安,也理应实行“零容忍”。但问题是,“号贩子”的存在,只是破坏了公平原则,助推看病贵,但与“看病难”关系不举例说吧,一个医院的专家号只有200个,但求号的患者每天却有1000多名,不管是照规矩排队,还是“号贩子”叫卖号,结果总会有800名患者无法就得点赞。但患者也得扪心自问:自己身体有恙,难道非得去北京不成?有数据表明,我国就医者80%集中在大医院,仅有20%在基层医院。当症,到大医院看病,和到中小医院看病区别不大;即便在同一家医院,找专家诊断和普通医生诊断,区别也不大。因为现在的医生都是科班出身,诊断普通病情,水平差不多。除非病人患有疑难病症。据此,我们是否可以这样说:有些患者不管大病小病都去大医院,去凑人满为患的热闹,也在一定程度上加剧了优质医疗资源供需的不平衡。[1]佟伟光,杨政,实用数据结构(第二版),科学出版社[2]StephenPrata,C++PrimerPlus(第五版),中文版[3]谭浩强,C程序设计(第三版)2008年5月,清华大学出版社[4]StephenPrata,C++PrimerPlus(第五版)中文版2006年2月,人民邮电[5]佟伟光,数据结构与算法2009年8月,北京大学出版社[7]CliffordA.Shaffer,数据结构与算法分析,电子工业出版社[8]SartajSahni,数据结构、算法与应用,械工业出版社附录#include<conio.h>//包含数据输入输出函数,密码以不回显方式输入函#defineFALSE0MAXQSIZE100//存储空间分配初始量QUEUE_INIT_SIZE10//存储空间分配增量将以2000后开始//排队号码//普通挂号的人员//急诊挂号的人员typedefintstatus;//没有去用指针,而是采用aa,bb来纪录挂号者的号码//账户密码是否成功登陆typedefstructNode//链队的定义QueueP*rear;//尾指针char*gp_sys_name="医师看诊模拟程//初始条件:队列Q存在。操作结果:将队列L清为空队列。1/初始条件:队列Q存在。操作结果:若队列L为空队列,返回TRUE,否则返回FALSE//全局变量Z,对排队的病人进行计数COORDsize={SCR_CO/*窗口缓冲区大小gh_std_out=GetStdHandle(STDgh_std_in=GetStdHandle获取标准输出设备/*获取标准输入设备SetConsoleScreenBufferSize(gh_std_out,size);/*设置窗口缓冲区大小80*25*/printf("**************************************欢迎来到医院看病系统/*系统功能模块的选择及运行*///CloseSys(gp_head);/*退出系统*/printf("\n\n+-----------------------printf("|欢迎来到本医院排队就诊printf("+--------------------------------------------+\n\n");printf("+--------------------------------------------+\n");printf("printf("printf("printf("|1、就医挂号|2、急诊挂号|3、医职人员printf("+-----------------------------------q->front=(QueueP*)mally=(LinkQueue*)malloc(sizeof(Li{//调用普通病人挂号函数他那调用急诊病人挂号函数//调用医生登陆函数statusDestroyQueue(LinkQueueq){//销毁队列Q,Q不再存在{//将Q清为空队列}ftp=(QueueP*)malloc(sizeof(Que排队//普通挂号人员的个数赋给链表节点data,每多一//next指针最开始指向为空,因为最开始没人//将原来的最后一个结点的指针域里指针指向P,所//链队的尾指针指向刚刚入队的尾结点p---------+\n\n%d\n\n",Num+p->data);printf("+-------------您当前的位置为:%2d-------------+\n",lists+treat-2);明的函数,里面有tm_sec,tm_min,tm_hour,tm_mdayx=(QueueP*)malloc(sizeprintf(" printf("验证程序{printf("你总共有3次机会\n");printf("你现在还有%d次机会\n”,3-num);printf("用户名:\n");}用户名,密码是否正确printf("用户认证成功!\n\n");printf("//验证输入的}printf("\n}用户名或密码错误!\n\n");printf("printf("printf("记住密码请输入y,否者输入其他:");{printf("现在暂时没有病人排队就医!\n");printf("请等待或按11退出就诊系统。~~~\n");-}printf("现在排队就诊的有%d个人\n”,z);{printf("printf("system("cls");//清除屏幕//返回的是整个队列的人数{printf("printf("printf("

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论