《医院门诊候诊管理系统》由会员分享,可在线阅读,更多相关《医院门诊候诊管理系统(18页珍藏版)》请在金锄头文库上搜索。
1、课程设计任务书设计题目:医院门诊候诊的队列管理程序学生姓名课程名称C语言程序设计课程设计专业班级地 点起止时间设计内容及要求【问题描述】要求采用先来先就诊的排队方式(就诊顺序与挂号单编号无关),假设挂号时编码是连续的,但由于同一个门诊科目有3个诊室,其中35(含35)岁以上的在第一诊室,35岁以下男患者进第二诊室,其它的进第三诊室,程序启动后显示下列菜单:【实现提示】1挂号2叫号3分诊室4显示各诊室队列信息5统计当天就诊的患者情况(要求按性别进行统计和按任意年龄区段进行统计)6结束程序选1时,提示用户在一行内输入姓名及挂号单编号;选2时,显示排在队列中第一位患者姓名、挂号单编号,并将其从挂号序
2、列中删除选3时,进行诊室分配选4时,按队列顺序显示个诊室排队人的姓名、挂号单编号及所在诊室选5时,进行两种统计方法的选择,并进行必要的统计计算选6时,退出程序的运行要求15中每一个步骤完成后都能重新显示此选择菜单设计参数(1)系统分析、设计正确。(2)结果以图表方式显示。(3)界面简洁、美观。(4)报告格式规范。进度要求具体进度详见“校内独立实践教学日程安排表”参考资料1何钦铭 颜晖.语言程序设计.高等教育出版社.2008年2谭浩强 张基温.语言程序设计教程.高等教育出版社.2006年其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较
3、多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师:陈刘奎/焦晓军/陈应祖 2013年6月12日摘要目录1总体设计6 2详细设计7 3程序模块显示.8 4系统调试11 5结果分析12 6总结13 7程序源码14 1. 总体设计一系统功能分析:1:能实现挂号功能,在一行内输入病人的信息,输出挂号列表。2:能实现叫号功能,显示排在队列中第一位患者姓名、挂号单编号,将其从挂号序列中删除。3:可以根据病人的性别与年龄,分配诊室,并按队列顺序显示个诊室排队人的姓名、挂号单编号及所在诊室。4:可以按性别进行统计和按任意年龄区段进行统计。5:上述功能都可以重
4、复执行。二系统功能模块划分:1: 功能描述介绍2: 挂号3: 叫号4: 划分诊室 5:显示病人就诊信息6. 统计病人就诊信息2. 详细设计(1) :系统功能模块图 模块3:挂号 1:模块4:叫号模块2:首先介绍该程序的相关工功能及如何操作 2: 模块5:分配诊室 3:模块6:依队列顺序输出病人信息 4:模块7:分别根据年龄和性别统计 5: End _结束程序 6:3:程序模块显示:模块1:前端定义以及功能选择程序块:模块2:功能介绍introduce()函数:模块3:挂号功能input ()函数:模块4:叫号功能 jiaohao()函数模块5:分配诊室:fp()函数模块6:病人信息输出:sta
5、tistic()函数模块7;统计功能:type_statistic()函数End :结束程序4系统调试调试过程中遇到的问题有如下一些:1. switch语句的case只是一个入口,后面要加break;2:出现错误“missing ; before type”(1) :可能是应为将变量的申明放在输入输出之前(2) :少了符号3:很多次连续使用输入函数接受数据时,后面一个函数接受的数据经常是乱码,后来发现是因为前一个函数接受数据完毕后会输入一个回车键,而后一个输入函数将ENTER 键接受了,所以出现了乱码,在接受第一个数据后用接一个ch=getchar()或是gets(ch)将回车键类接受,问题就
6、能得到解决;5结果分析1:关于设计的独到之处:(1)关于接受一个数据如何确保它是一个int型数据:接受整形数据需要使用scanf函数%d格式输入,而如果此时输入一个字符,会出现数字乱码,而不会报错,所以我将输入的数据类型定义为字符型接受,然后使用isdigit函数判断该字符是否为字符型数字,如果是,用自定义change函数将该字符型数字转化为整形数字。如果不是,重新执行以上操作输入及判断的操作,如此可以确保得到的最终数据是一个int 型数据。(总结独到的设计特点和不足之处。)2. 关于该程序的不足之处:(1) :输入时的性别框设患者为男性时输入“man”,可是此程序只能识别字符串“man”.由
7、于我是使用strcmp函数将输入的字符串与man做比较,如果相同则判定其为男性患者如果输入时在man后加空格或其他字符,后续的关于性别的程序块会识别错误。(2) :再者,当输入病人的信息,如果二位病人的挂号编号重复时,程序不会提示出错,这也是一个不足所在6总结经过这次程序设计,我们总结以下几点:1:编程需要细心与耐心,以及平时要养成良好的编程习惯。因为编程序是一件很需要耐心与细心的事情,一个错误经常需要长时间去测试、检验才能找到出错之处,而最好的办法就是通过良好的编程习惯以及耐心减少错误出现的频率2:编程很注重与他人的合作,交流。一个人常会被自己的习惯思维所局限,交流与合作通过思维碰撞和知识互
8、补可以拓宽自己的思路,拓展自己的知识面,一个人因为自己的习惯思维,常会对自己犯的错误视为不见,而通过别人的帮助检测能够帮助较快的找到错误所在。程序源码:# include # include # include # include # define N 100int S1=0,S2=0,S3=0,man=0,woman=0,pl=0,g=0; /定义s为诊室,p1指针int k;struct hoschar name15; /患者姓名char sex10; /患者性别char num10; /挂号单编号 char year10; /患者年龄int room; /被分到的诊室号;struct h
9、os hN;struct hos *p=&h0;void introduce() /功能介绍introduce()函数printf( n 功 能 选 择 n);printf(n);printf( 1-挂号 n);printf( 2-叫号 n);printf( 3分诊室 n);printf( 4显示各诊室队列信息 n);printf( 5统计当天就诊患者情况(要求按性别和任意年龄区段进行统计 n);printf( 6结束程序 n);printf(n);void run()void introduce();void input ();void jiaohao();void fp();void st
10、atistic();void type_statistic();char function=1,j10;while (function)switch(function)case 1:input();break;case 2:jiaohao();break;case 3:fp();break;case 4:statistic();break;case 5:type_statistic();break;case 6:exit(0);break;default:system(cls); /清屏printf(nterrornn请重新输入: );printf(请选择功能);introduce();function=getchar();gets(j);while(isdigit(function)=0)/isdigit(function):判断function字符是不是数字printf(您输入有误,请重新输入);