ImageVerifierCode 换一换
格式:DOC , 页数:60 ,大小:328.50KB ,
资源ID:250768      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-250768.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(优秀毕业设计精品C语言课程设计报告医院专家门诊挂号系统.doc)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

优秀毕业设计精品C语言课程设计报告医院专家门诊挂号系统.doc

1、计算机0710班 XXX 学号:XXX华中科技大学计算机科学与技术学院C语言程序设计课程设计实验报告题目: 医院专家门诊挂号系统 专业: 计算机科学与技术 班级: 计算机XXX班 学号: XXXX 姓名: XXX 成绩: 指导教师: XXX 完成日期: 20XX年 10月 10日一、 系统功能模块图主菜单数据管理保存和读取统计查询删除修改录入各项信息统计科室、专家、挂号信息查询打印报表支持多关键字的搜索引擎退出添加二、 数据结构设计及用法说明主要的三个结构(采用了十字交叉链表):科室信息的结构、专家信息的结构及挂号信息的结构。分别如下:/*科室信息*/struct Troom char num

2、11;/*保存科室号*/ char name20;/*保存科室名*/ char man20;/*保存负责人*/ char tel12;/*保存电话*/int tot_reg;/*保存科室的总挂号量*/ struct Troom *next;/*保存指向下一个科室信息的指针*/ struct Tpro *sub;/*保存指向专家信息的头指针*/;/*挂号信息结构体*/struct Treg char pro_num11;/*保存专家编号*/ char case_num15;/*保存病历号*/ char patient_name20;/*保存患者姓名*/ char date11;/*保存挂号日期*

3、/ char assistant20;/*保存挂号人员*/ intserial_num;/*保存挂号流水号*/ float fee;/*保存挂号费*/ struct Treg *next;/*保存指向下一个挂号信息的指针*/;/*专家信息结构体*/struct Tpro char room_num11;/*保存科室号*/ char num11;/*保存专家编号*/ char name20;/*保存姓名*/ char birth11;/*保存出生日期*/ char sex;/*保存性别*/ char tel12;/*保存电话*/ char profession15;/*保存职称*/ char s

4、ummary50;/*保存简介*/int tot_reg;/*保存专家的总挂号量*/ struct Tpro *next;/*保存指向下一个专家信息的指针*/ struct Treg *sub;/*保存指向挂号信息的头指针*/;用法说明图示如下: head科室1科室2科室nNULL 专家1基本信息 专家2基本信息专家n基本信息专家1挂号记录链 专家2挂号记录链 专家n挂号记录链 三、 程序结构流程图系统总体流程图:开始主菜单录入信息修改信息插入信息删除信息保存文件读取文件查询信息统计数据打印报表退出系统科室信息专家信息挂号信息读入关键字多关键字搜索结束查询流程图:查询信息输入关键字从信息总体中

5、提取含有关键字的信息输出信息四、 各模块功能数据管理模块中包含录入信息、修改信息、插入信息和删除信息四大功能:1、 录入信息:录入科室、专家、挂号信息;2、 修改信息:对科室、专家、挂号信息进行修改;3、 添加信息:添加科室或专家;4、 删除信息:取消科室或解雇专家。统计查询模块中包含查询信息和统计数据1、 查询信息:可查询所有科室、专家和挂号信息,还可以查询某个特定的信息,使用多关键字匹配和KMP字符串匹配技术;2、 统计数据:有3种统计的信息可供查看:(1) 各科室的挂号量;(2) 各专家的挂号量;(3) 某天挂号的患者的基本信息。保存和读取模块:保存文件和读取文件;退出程序:退出医院专家

6、门诊挂号系统。各功能函数的相关说明见附录中的源程序清单。五、 试验结果整个程序运行起来很正常,没有出现bug,我这就把输出结果的截屏贴在下面:科室基本信息(部分):专家基本信息(部分):挂号基本信息(部分):统计信息均准确无误:各科室的挂号量:各专家的挂号量:某天挂号的基本信息:六、 心得体会第一次写管理系统这样的大型程序,说真的,有点不习惯,以前的一些代码风格成了我这次课设的最大障碍。比如说,以前写小程序因为通常只有一个主函数,所以很多变量都是局部变量,而这次大型作业要求有很多的函数相互交叉,共同完成一些功能,所以必须要用全局变量。还有我的编程风格无意义的变量名使我吃了很多苦头,很多时候,我

7、的变量名都混淆了,以至于我最后改的时候很麻烦。这次课设,让我学了很多东西,除了代码风格和编程习惯的优化之外,我的代码能力也明显提高了。经过这次课设,我一些以前没有彻底掌握的东西都牢牢掌握了。比如指针的灵活运用,函数之间的互相调用的代码级优化等等。尽管我学到了很多东西,但是对于这次大型作业我还是有一点遗憾,那就是代码的重复利用率不高,很多几乎一样的代码在我的程序中出现了多次(毕竟是一个上午写出来的东西,这也不能怪我)。本来我有心想优化一下,使重复利用率提高,但是由于ACM/ICPC将近,我全部时间都用在训练上,所以就算了。希望不会对我的课设的评价造成太大的影响。路漫漫其修远兮,吾将上下而求索。程

8、序设计这条路还很长,我会继续走下去,不断自我完善,早日成为一个出色的程序员。七、 参考文献所有资料均从百度而来附录:程序清单/*/* 医院门诊挂号系统V1.01源代码 */* Copyright by XXX */*/#include #include #include #define Troom_len sizeof(struct Troom)#define Tpro_len sizeof(struct Tpro)#define Treg_len sizeof(struct Treg)#define TLroom_len sizeof(struct TLroom)#define TLpro_

9、len sizeof(struct TLpro)#define TLreg_len sizeof(struct TLreg)#define Room_in_mes puts(nt科室信息录入中.)#define Spe_in_mes puts(nt专家信息录入中.)#define Reg_in_mes puts(nt挂号信息录入中.)/*挂号信息结构体*/struct Treg char pro_num11;/*保存专家编号*/ char case_num15;/*保存病历号*/ char patient_name20;/*保存患者姓名*/ char date11;/*保存挂号日期*/ cha

10、r assistant20;/*保存挂号人员*/ intserial_num;/*保存挂号流水号*/ float fee;/*保存挂号费*/ struct Treg *next;/*保存指向第一个专家信息的指针*/;/*专家信息结构体*/struct Tpro char room_num11;/*保存科室号*/ char num11;/*保存专家编号*/ char name20;/*保存姓名*/ char birth11;/*保存出生日期*/ char sex;/*保存性别*/ char tel12;/*保存电话*/ char profession15;/*保存职称*/ char summar

11、y50;/*保存简介*/int tot_reg;/*保存专家的总挂号量*/ struct Tpro *next;/*保存指向下一个专家信息的指针*/ struct Treg *sub;/*保存指向第一个挂号信息的指针*/;/*科室信息*/struct Troom char num11;/*保存科室号*/ char name20;/*保存科室名*/ char man20;/*保存负责人*/ char tel12;/*保存电话*/int tot_reg;/*保存科室的总挂号量*/ struct Troom *next;/*保存指向下一个挂号信息的指针*/ struct Tpro *sub;/*保存

12、指向第一个专家信息的指针*/;/*辅助变量*/struct TLroomstruct Troom *st;struct TLroom *next;*storep, *pp;struct TLprostruct Tpro *st;struct TLpro *next;*storeq, *qq;struct TLregstruct Treg *st;struct TLreg *next;*storer, *rr;struct Troom *p, *pl, *tempp, *head=NULL;struct Tpro *q, *ql, *tempq;struct Treg *r, *rl, *tem

13、pr;char rest20, ret5;int n;int flag, changed;void Main_menu();void Show_menu();void Write();void Save();void Load();void Modify();void Insert();void Delete();void Search();void Statistics();void Print();void Exit();void Search_room();void Search_room_with_num(char *);void Search_room_with_name(char

14、*);void Search_room_with_man(char *);void Search_room_with_tel(char *);void Search_pro();void Search_pro_with_num(char *);void Search_pro_with_name(char *);void Search_pro_with_tel(char *);void Search_reg();void Search_reg_with_serial_num(int);void Search_reg_with_case_num(char *);void Sort_room();v

15、oid Sort_pro();void Show_room();void Show_room_with_reg();void Show_pro();void Show_pro_with_reg();void Show_reg();void Print_room();void Print_pro();void Print_reg();char *Tostring(int);void PrnN();void PrnB();void PrnM();void ClearAll();void Clearp();void Clearq();void Clearr();void cls();/*/* 主菜单

16、 */*/void Main_menu() char command; do do Show_menu();command=getchar(); gets(rest);cls(); if (command9) puts(n无此选项!请重新选择);printf(按ENTER以继续.);gets(rest);cls(); while (command9);switch (command) case 1:Write();break;case 2:Save();break; case 3:Load();break; case 4:Modify();break; case 5:Insert();brea

17、k; case 6:Delete();break; case 7:Search();break; case 8:Statistics();break;case 9:Print();break; case 0:Exit(); while (command!=0);void Show_menu() puts(欢迎进入医院门诊挂号系统!); puts(n请选择:n); puts(t1: 录入数据n); puts(t2: 保存文件n); puts(t3: 载入文件n); puts(t4: 修改数据n); puts(t5: 插入数据n); puts(t6: 删除数据n); puts(t7: 查询信息n)

18、; puts(t8: 统计数据n); puts(t9: 输出报表n);puts(t0: 退出系统n);/*/* 录入信息 */*/void Write() char command0, command1, command2;char command;if (changed) puts(n录入将覆盖原有信息,您尚未保存,是否保存?Y/N?);command=getchar();gets(rest);cls();if (command=Y | command=y) Save();head=NULL; do p=(struct Troom *)malloc(Troom_len);Room_in_me

19、s;puts(n请输入科室号);gets(p-num);cls();Room_in_mes;puts(n请输入科室名);gets(p-name);cls();Room_in_mes;puts(n请输入负责人姓名);gets(p-man);cls();Room_in_mes;puts(n请输入电话);gets(p-tel);cls();p-sub=NULL;p-tot_reg=0;p-next=head;head=p;puts(n是否录入此科室的专家信息?Y/N?);command1=getchar();gets(rest);cls();while (command1=Y | command1=

20、y) q=(struct Tpro *)malloc(Tpro_len);strcpy(q-room_num, p-num);Spe_in_mes;puts(n请输入专家编号); gets(q-num);cls();Spe_in_mes; puts(n请输入姓名);gets(q-name);cls();Spe_in_mes;puts(n请输入出生日期,例:XXXX/XX/XX);gets(q-birth);cls();Spe_in_mes;puts(n请输入性别,M for MAN, W for WOMAN);q-sex=getchar();gets(rest);cls();Spe_in_me

21、s;puts(n请输入电话);gets(q-tel);cls();Spe_in_mes;puts(n请输入职称);gets(q-profession);cls();Spe_in_mes;puts(n请输入简介);gets(q-summary);cls();q-sub=NULL;q-tot_reg=0;q-next=p-sub;p-sub=q;puts(n是否录入此专家的挂号信息?Y/N?);command2=getchar();gets(rest);cls();while (command2=Y | command2=y) q-tot_reg+;r=(struct Treg *)malloc(

22、sizeof(struct Treg);strcpy(r-pro_num, q-num);Reg_in_mes;puts(n请输入挂号流水号);scanf(%d, &r-serial_num);gets(rest);cls();Reg_in_mes;puts(n请输入病历号);gets(r-case_num);cls();Reg_in_mes;puts(n请输入患者姓名);gets(r-patient_name);cls();Reg_in_mes;puts(n请输入挂号费(元));scanf(%f, &r-fee);gets(rest);cls();Reg_in_mes;puts(n请输入挂号

23、时间,例:XXXX/XX/XX);gets(r-date);cls();Reg_in_mes;puts(n请输入挂号人员);gets(r-assistant);cls();r-next=q-sub;q-sub=r;puts(n是否录入下一个挂号信息?Y/N?);command2=getchar();gets(rest);cls();p-tot_reg+=q-tot_reg;puts(n是否录入下一个专家信息?Y/N?);command1=getchar();gets(rest);cls();puts(n是否录入下一个科室信息?Y/N?);command0=getchar();gets(rest);cls();

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2