数据结构与算法课设_第1页
数据结构与算法课设_第2页
数据结构与算法课设_第3页
数据结构与算法课设_第4页
数据结构与算法课设_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

综合设计题目:课程:《数据结构与算法年级:2015级专业:班级:学号姓名:指导教师:课程设计(论文)任务书 学院 专业 班一、课程设计(论文)题目 医院候诊管理系统—二、 课程设计(论文)工作自2016年12月26日起至2016年12月30日止。三、 课程设计(论文)地点:信息工程学院5-203四、 课程设计(论文)内容要求:1■本课程设计的目的 通过该课程设计的操作与实践,使学生真正掌握数据结构相关算法的实现及应用方法,在一定程度上提高使用数据结构相关算法的综合设计能力,具体掌握的基本能力如下:掌握数据结构中各种抽象数据类型; 全面提高学生的程序设计、开发能力。 2■课程设计的任务及要求任务:已知医院有内科、外科、骨科、皮肤科和口腔科,每个科均有普通门诊和专家门诊,普通门诊挂号费5元,专家门诊挂号费10元,其中内科门诊要求14岁以下(含14岁)儿童进第一诊室,15〜25岁(含25岁)男患者进第二诊室,女患者进第三诊室,其他的进第四诊室,要求编制程序实现如下功能(患者信息包括挂号单编号、性别、年龄、所挂科室)能实现挂号功能,提示用户在一行内输入姓名及挂号单编号,并储存; 能实现叫号功能,显示排在队列中第一位患者姓名、挂号单编号,并将其从挂号序列中删除; 根据病人的性别与年龄,能实现诊室的分配; 能按队列顺序显示各个诊室排队人的姓名、挂号单编号及所在诊室; 按性别进行统计和按任意年龄区段进行统计,并打印输出;完成每个步骤之后都能重新显示选择菜单。 基本要求:本课程设计应满足以下要求:任意性:用户任意给定输入,系统能够完成正确的计算; 友好性:界面要友好,输入有提示,尽量展示人性化; 可读性:源程序代码清晰、有层次; 健壮性:用户输入非法数据时,系统要及时给出警告信息;结构性:应用程序具有良好的程序结构。 对所编写的源程序的要求: 能够达到系统功能的基本要求,鼓励自行增加新功能(相应提高评分等级);要有可视化用户界面。尽可能的使界面友好、直观、易操作; 开发工具任选,源程序要有适当的注释,使程序容易阅读。创新要求: 在基本要求达到后,可进行创新设计。 课程设计论文编写要求要按照书稿的规格打印撰写设计论文; 论文包括目录、摘要、正文、总结等; 课程设计论文装订按学校的统一要求完成。答辩与评分标准: —达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分; 能正确回答老师所提问题,可增加10分; 课程设计报告书写规范整齐,可增加10分; 心得体会认真总结,可增加10分;程序有创新性,可增加10分; 成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。5)课程设计进度安排16周周五:上交分组名单及选题18周周一之前:查阅相关资料,划分模块、小组成员分工 18周周一:编制源程序 18周周三、四:上机调试,修改、完善系统、撰写课程设计报告 18周周四上午9:00:上交源代码(.cpp、.h存入已小组成员的学号与名字命名的文件夹1份/组)与课程设计报告(1份/人)上机时间安排表(地点:信息学院203机房): 18周:周一上午1、2、3、4节 周三上午1、2、3、4节 周四上午1、2、3、4节学生签名:

课程设计(论文)评审意见项目优良中及格不及格课程设计之前查阅相关资料,完成需求分析,准备充分。课程设计期间态度端正,按时参加,按时完成。所设计系统按要求完成各项功能。所设计系统具有一定的创新性,添加一些实用功能。论文撰写规范,结构严谨,思路清晰,准确表达。介绍所设计的系统表述清楚,主要问题回答准确。自学能力强并独立解决问题,具备一定的系统开发能力。评阅人签名: 曾伟 职称:讲师目录目录第1第1 1系绍 1TOC\o"1-5"\h\z\o"CurrentDocument"基本功能要求 1\o"CurrentDocument"第2章设计思路与算法 2\o"CurrentDocument"程序设计思路 2程序设计功能结构 2\o"CurrentDocument"数据结构定义 2第3章源程序代码 4第4章运行结果及分析错误!未定义书签。运行结果 9结果分析 14第5章心得体会 15参考文献 16第1章系统概要系统介绍设计一个医院门诊候诊的队列管理系统,该系统要求对医院门诊候诊的排队进行管理和维护。其中医院有内科、外科、骨科、皮肤科和口腔科五个科室,每个科均有普通门诊和专家门诊,普通门诊挂号费5元,专家门诊挂号费10元。而且其中内科门诊有四个诊室,要求14岁以下(含14岁)儿童进第一诊室,15〜25岁(含25岁)男患者进第二诊室,女患者进第三诊室,其他的进第四诊室。基本功能要求(1)能实现挂号功能,提示用户在一行内输入姓名及挂号单编号,并储存;(2) 能实现叫号功能,显示排在队列中第一位患者姓名、挂号单编号,并将其从挂号序列中删除;(3) 根据病人的性别与年龄,能实现诊室的分配;(4) 能按队列顺序显示各个诊室排队人的姓名、挂号单编号及所在诊室;(5) 按性别进行统计和按任意年龄区段进行统计,并打印输出;(6) 完成每个步骤之后都能重新显示选择菜单。第2章设计思路与算法程序设计思路1、根据系统所要求的基本功能,可将程序主要化为挂号、叫号、分配诊室、依队列顺序输出病人信息及统计管理当前信息等模块。2、依据各模块具体功能运用相关语句和结构编程具体的程序。a.挂号模块,是通过数组记录患者的信息;b.叫号模块,能实现显示排在队列中第一位患者姓名、挂号单编号,然后,通过清屏形式将其从挂号序列中删除的功能。通过分诊步骤之后,再操作此模块将显示下一位患者的信息,即实现了题目中“从挂号序列中删除”的要求;C.分配诊室模块,先按照患者所需选择普通或专家门诊以及相应的科室,再在内科患者中,按照年龄及性别进行分配诊室模块,能实现对患者进行分诊功能,先通过判断年龄进行第一诊室的分配,然后再将剩余的患者进行性别判断进行第二、第三、第四诊室的分配;显示各患者队列及诊室信息模块,可以实现将当前所有患者的所在诊室以及其详细信息展示出来的功能,所显示的信息分为三个部分展示;统计模块,分为性别统计和按任意年龄统计。按任意年龄统计,通过输入的年龄界限X与年龄数组中的数据进行判断比较,输出相应的人数,并且输入的年龄界限必须是可行的实际值,否则无意义;按性别统计,直接打印数据即可。3、在主函数界面,通过主界面函数分别进入各模块,进行运行并调试。程序设计功能结构其主要几个模块流程图如下主界面函数 主界面函数

循环输入主输出田界面叫号函数挂号模块输入模块二:挂号系统voidguahao姓名name姓名循环输入主输出田界面叫号函数挂号模块输入模块二:挂号系统voidguahao姓名name姓名name姓名name姓名name显示队列中剩余患者信息是是是男1425内科?否下外科?骨科?皮肤科?口腔科?岁以主田界面岁以/否分配诊室函数显示队列中第一位患者信息模块三:叫号系统voidjiaohao模块四:按照年龄和性别进行分诊骨科诊室外科诊室口腔科诊室皮肤科诊室显示队列中剩余患者信息是是是男1425内科?否下外科?骨科?皮肤科?口腔科?岁以主田界面岁以/否分配诊室函数显示队列中第一位患者信息模块三:叫号系统voidjiaohao模块四:按照年龄和性别进行分诊骨科诊室外科诊室口腔科诊室皮肤科诊室内科第二诊室内科第三诊室内科第一诊室内科第四诊室数据结构定义主要运用的三个数据结构如下(结构体数组):structhos{charname[15];ame,gets(s));printf("编号:");strcpy(p[pl].num,gets(s));printf("性别:");strcpy(p[pl].sex,gets(s));printf("年龄:");strcpy(p[pl].year,gets(s));printf("请选择普通门诊(挂号费5元)或者专家门诊(挂号费10元):\n");ee,gets(s));printf("请选择内科;外科;骨科;皮肤科;口腔科\n");strcpy(p[pl].ke,gets(s)); ee,"普通门诊")=0)printf("第%2d位姓名:%s挂号号码%s所挂科室:普通%s\n",k+1-g,p[k].name,p[k].num,p[k].ke);if(strcmp(p[k].fee,"专家门诊")=0)printf("第%2d位姓名:%s挂号号码%s所挂科室:专家%s\n",k+1-g,p[k].name,p[k].num,p[k].ke);system("pause"); ame,p[g].num);g++;printf("剩余%2d位等待叫号的病人\n",pl-g);for(k=g;k<pl;k++)printf("挂号排序第%2d位姓名:%s 挂 号 号码:%5s\n",k+1-g,p[k].name,p[k].num);system("pause");system("cls");}voidfp(){S1=0;S2=0;S3=0;S4=0;a1=0;a2=0;a3=0;a4=0;for(k=0;k<g;k++){if(strcmp(p[k].ke,"内科")=0){if(atoi(p[k].year)<=14){S1++;p[k].room=1;}ear)>14&&atoi(p[k].year)<=25){if(strcmp(p[k].sex,"男")=0){S2++;p[k].room=2;} oom=3;oom=4; ame,p[k].room);}if(strcmp(p[k].ke,"外科")=0){al二a1+1;printf("病人%s被分配在%$诊室\n",p[k].name,p[k].ke);}if(strcmp(p[k].ke,"骨科")=0){a2=a2+1;printf("病人%s被分配在%$诊室\n",p[k].name,p[k].ke);}if(strcmp(p[k].ke,"皮肤科")=0){a3=a3+1;printf("病人%s被分配在%$诊室\n",p[k].name,p[k].ke);}if(strcmp(p[k].ke,"口腔科")=0){a4=a4+1;printf("病人%s被分配在%$诊室\n",p[k].name,p[k].ke);}}system("pause");system("cls");}voidstatistic(){for(k=0;k<g;k++){printf("第%2d名患者姓名:%s挂号编号:%s诊室:%s诊室\n",k+1,p[k].name,p[k].num,p[k].ke);}printf("内科第一诊室%2d人\n",S1);printf("内科第二诊室%2d人\n",S2);printf("内科第三诊室%2d人\n",S3);printf("内科第四诊室%2d人\n",S4);printf("外科诊室%2d人\n",a1);printf("骨科诊室%2d人\n",a2);printf("皮肤科诊室%2d人\n",a3);printf("口腔科诊室%2d人\n",a4);system("pause");system("cls");}voidtype_statistic(){intyear,high=0,low=0;man=0;woman=0;for(k=0;k<g;k++){if(strcmp(p[k].fee,"普通门诊")=0)sum=sum+5;if(strcmp(p[k].fee,"专家门诊")=0)sum=sum+10;if(strcmp(p[k].sex,"男")==0)man++;elsewoman++;}printf("今日总挂号门诊费为:%d\n",sum);printf("请输入一个界限年龄:");scanf("%d",&year);for(k=0;k<g;k++){if(atoi(p[k].year)>=

温馨提示

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

评论

0/150

提交评论