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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言课程设计报告医院专家门诊挂号系统doc.docx

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

2、分别如下 /*科室信息*/ struct Troom char num11;/*保存科室号*/ 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_

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

4、/*保存电话*/ char profession15;/*保存职称*/ char summary50;/*保存简介*/ int tot_reg;/*保存专家的总挂号量*/ struct Tpro *next;/*保存指向下一个专家信息的指针*/ struct Treg *sub;/*保存指向挂号信息的头指针*/ ; 用法说明图示如下 head 科室1 科室2 科室n NULL 专家1基本信息 专家2基本信息 专家n基本信息 专家1挂号记录链 专家2挂号记录链 专家n挂号记录链 三、 程序结构流程图 系统总体流程图 开始 主菜单 录入信息 修改信息 插入信息 删除信息 保存文件 读取文件 查询信

5、息 统计数据 打印报表 退出系统 科室信息 专家信息 挂号信息 读入关键字 多关键字搜索 结束 查询流程图 查询信息 输入关键字 从信息总体中提取含有关键字的信息 输出信息 四、 各模块功能 数据管理模块中包含录入信息、修改信息、插入信息和删除信息四大功能 1、 录入信息录入科室、专家、挂号信息; 2、 修改信息对科室、专家、挂号信息进行修改; 3、 添加信息添加科室或专家; 4、 删除信息取消科室或解雇专家。 统计查询模块中包含查询信息和统计数据 1、 查询信息可查询所有科室、专家和挂号信息,还可以查询某个特定的信息,使用多关键字匹配和KMP字符串匹配技术; 2、 统计数据有3种统计的信息可

6、供查看 (1) 各科室的挂号量; (2) 各专家的挂号量; (3) 某天挂号的患者的基本信息。 保存和读取模块保存文件和读取文件; 退出程序退出医院专家门诊挂号系统。 各功能函数的相关说明见附录中的源程序清单。 五、 试验结果 整个程序运行起来很正常,没有出现bug,我这就把输出结果的截屏贴在下面 科室基本信息(部分) 专家基本信息(部分) 挂号基本信息(部分) 统计信息均准确无误 各科室的挂号量 各专家的挂号量 某天挂号的基本信息 六、 心得体会 第一次写管理系统这样的大型程序,说真的,有点不习惯,以前的一些代码风格成了我这次课设的最大障碍。 比如说,以前写小程序因为通常只有一个主函数,所以

7、很多变量都是局部变量,而这次大型作业要求有很多的函数相互交叉,共同完成一些功能,所以必须要用全局变量。 还有我的编程风格无意义的变量名使我吃了很多苦头,很多时候,我的变量名都混淆了,以至于我最后改的时候很麻烦。 这次课设,让我学了很多东西,除了代码风格和编程习惯的优化之外,我的代码能力也明显提高了。 经过这次课设,我一些以前没有彻底掌握的东西都牢牢掌握了。 比如指针的灵活运用,函数之间的互相调用的代码级优化等等。 尽管我学到了很多东西,但是对于这次大型作业我还是有一点遗憾,那就是代码的重复利用率不高,很多几乎一样的代码在我的程序中出现了多次(毕竟是一个上午写出来的东西,这也不能怪我)。 本来我

8、有心想优化一下,使重复利用率提高,但是由于ACM/ICPC将近,我全部时间都用在训练上,所以就算了。 希望不会对我的课设的评价造成太大的影响。 路漫漫其修远兮,吾将上下而求索。 程序设计这条路还很长,我会继续走下去,不断自我完善,早日成为一个出色的程序员。 七、 参考文献 所有资料均从XX而来 附录程序清单 /*/ /* 医院门诊挂号系统V1.01源代码 */ /* Copyright by XXX */ /*/ include include include define Troom_len sizeofstruct Troom define Tpro_len sizeofstruct Tp

9、ro define Treg_len sizeofstruct Treg define TLroom_len sizeofstruct TLroom define TLpro_len sizeofstruct TLpro define TLreg_len sizeofstruct TLreg define Room_in_mes puts“nt科室信息录入中.“ define Spe_in_mes puts“nt专家信息录入中.“ define Reg_in_mes puts“nt挂号信息录入中.“ /*挂号信息结构体*/ struct Treg char pro_num11;/*保存专家编号

10、*/ char case_num15;/*保存病历号*/ char patient_name20;/*保存患者姓名*/ char date11;/*保存挂号日期*/ char assistant20;/*保存挂号人员*/ intserial_num;/*保存挂号流水号*/ float fee;/*保存挂号费*/ struct Treg *next;/*保存指向第一个专家信息的指针*/ ; /*专家信息结构体*/ struct Tpro char room_num11;/*保存科室号*/ char num11;/*保存专家编号*/ char name20;/*保存姓名*/ char birth1

11、1;/*保存出生日期*/ char sex;/*保存性别*/ char tel12;/*保存电话*/ char profession15;/*保存职称*/ char summary50;/*保存简介*/ int tot_reg;/*保存专家的总挂号量*/ struct Tpro *next;/*保存指向下一个专家信息的指针*/ struct Treg *sub;/*保存指向第一个挂号信息的指针*/ ; /*科室信息*/ struct Troom char num11;/*保存科室号*/ char name20;/*保存科室名*/ char man20;/*保存负责人*/ char tel12;

12、/*保存电话*/ int tot_reg;/*保存科室的总挂号量*/ struct Troom *next;/*保存指向下一个挂号信息的指针*/ struct Tpro *sub;/*保存指向第一个专家信息的指针*/ ; /*辅助变量*/ struct TLroom struct Troom *st; struct TLroom *next; *storep, *pp; struct TLpro struct Tpro *st; struct TLpro *next; *storeq, *qq; struct TLreg struct Treg *st; struct TLreg *next;

13、 *storer, *rr; struct Troom *p, *pl, *tempp, *headNULL; struct Tpro *q, *ql, *tempq; struct Treg *r, *rl, *tempr; 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 P

14、rint; void Exit; void Search_room; void Search_room_with_numchar *; void Search_room_with_namechar *; void Search_room_with_manchar *; void Search_room_with_telchar *; void Search_pro; void Search_pro_with_numchar *; void Search_pro_with_namechar *; void Search_pro_with_telchar *; void Search_reg; v

15、oid Search_reg_with_serial_numint; void Search_reg_with_case_numchar *; void Sort_room; void 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 *Tostringint; void PrnN; void PrnB; void PrnM; v

16、oid ClearAll; void Clearp; void Clearq; void Clearr; void cls; /*/ /* 主菜单 */ /*/ void Main_menu char command; do do Show_menu; commandgetchar; getsrest; cls; if command 9 puts“n无此选项请重新选择“; printf“按ENTER以继续.“; getsrest; cls; while command 9 ; switch command case 1 Write; break; case 2 Save; break; ca

17、se 3 Load; break; case 4 Modify; break; case 5 Insert; break; 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

18、“t5 插入数据n“; puts“t6 删除数据n“; puts“t7 查询信息n“; puts“t8 统计数据n“; puts“t9 输出报表n“; puts“t0 退出系统n“; /*/ /* 录入信息 */ /*/ void Write char command0, command1, command2; char command; if changed puts“n录入将覆盖原有信息,您尚未保存,是否保存Y/N“; commandgetchar; getsrest; cls; if command Y | command y Save; headNULL; do pstruct Tro

19、om *mallocTroom_len; Room_in_mes; puts“n请输入科室号“; getsp-num; cls; Room_in_mes; puts“n请输入科室名“; getsp-name; cls; Room_in_mes; puts“n请输入负责人姓名“; getsp-man; cls; Room_in_mes; puts“n请输入电话“; getsp-tel; cls; p-subNULL; p-tot_reg0; p-nexthead; headp; puts“n是否录入此科室的专家信息Y/N“; command1getchar; getsrest; cls; whi

20、le command1 Y | command1 y qstruct Tpro *mallocTpro_len; strcpyq-room_num, p-num; Spe_in_mes; puts“n请输入专家编号“; getsq-num; cls; Spe_in_mes; puts“n请输入姓名“; getsq-name; cls; Spe_in_mes; puts“n请输入出生日期,例XXXX/XX/XX“; getsq-birth; cls; Spe_in_mes; puts“n请输入性别,M for MAN, W for WOMAN“; q-sexgetchar; getsrest;

21、cls; Spe_in_mes; puts“n请输入电话“; getsq-tel; cls; Spe_in_mes; puts“n请输入职称“; getsq-profession; cls; Spe_in_mes; puts“n请输入简介“; getsq-summary; cls; q-subNULL; q-tot_reg0; q-nextp-sub; p-subq; puts“n是否录入此专家的挂号信息Y/N“; command2getchar; getsrest; cls; while command2 Y | command2 y q-tot_reg; rstruct Treg *mal

22、locsizeofstruct Treg; strcpyr-pro_num, q-num; Reg_in_mes; puts“n请输入挂号流水号“; scanf“d“, getsrest; cls; Reg_in_mes; puts“n请输入病历号“; getsr-case_num; cls; Reg_in_mes; puts“n请输入患者姓名“; getsr-patient_name; cls; Reg_in_mes; puts“n请输入挂号费(元)“; scanf“f“, getsrest; cls; Reg_in_mes; puts“n请输入挂号时间,例XXXX/XX/XX“; gets

23、r-date; cls; Reg_in_mes; puts“n请输入挂号人员“; getsr-assistant; cls; r-nextq-sub; q-subr; puts“n是否录入下一个挂号信息Y/N“; command2getchar; getsrest; cls; p-tot_regq-tot_reg; puts“n是否录入下一个专家信息Y/N“; command1getchar; getsrest; cls; puts“n是否录入下一个科室信息Y/N“; command0getchar; getsrest; cls; while command0 Y | command0 y ;

24、 puts“n录入成功“; printf“按ENTER以继续.“; getsrest; cls; changed1; /*/ /* 保存文件 */ /*/ void Save FILE *fp, *fq, *fr; char file120, file220, file320; do puts“nt正在创建科室数据文件.“; puts“n请输入文件名“; getsfile1; cls; if fpfopenfile1, “wb“NULL puts“n文件不能打开“; printf“按ENTER以继续.“; getsrest; cls; while fpNULL; do puts“nt正在创建专

25、家数据文件.“; puts“n请输入文件名“; getsfile2; cls; if fqfopenfile2, “wb“NULL puts“n文件不能打开“; printf“按ENTER以继续.“; getsrest; cls; while fqNULL; do puts“nt正在创建挂号数据文件.“; puts“n请输入文件名“; getsfile3; cls; if frfopenfile3, “wb“NULL puts“n文件不能打开“; printf“按ENTER以继续.“; getsrest; cls; while frNULL; for phead; p; pp-next fwr

26、itep, Troom_len, 1, fp; for qp-sub; q; qq-next fwriteq, Tpro_len, 1, fq; for rq-sub; r; rr-next fwriter, Treg_len, 1, fr; puts“n保存成功“; printf“按ENTER以继续.“; getsrest; cls; changed0; fclosefp; fclosefq; fclosefr; /*/ /* 读取文件 */ /*/ void Load FILE *fp, *fq, *fr; int t; char file120, file220, file320; if

27、 changed char command; puts“n您尚未保存,是否保存Y/N“; commandgetchar; getsrest; cls; if command Y | command y Save; ClearAll; t0; do puts“n正在载入科室数据文件.“; t; puts“n请输入文件名“; getsfile1; cls; if fpfopenfile1, “rb“NULL puts“n文件不能打开“; printf“按ENTER以继续.“; getsrest; cls; if t3 puts“n读取失败,返回主菜单“; printf“按ENTER以继续.“; g

28、etsrest; cls; return; while fpNULL; t0; do puts“n正在载入专家数据文件“; puts“n请输入文件名“; getsfile2; cls; if fqfopenfile2, “rb“NULL puts“n文件不能打开“; printf“按ENTER以继续.“; getsrest; cls; if t3 puts“n读取失败,返回主菜单“; printf“按ENTER以继续.“; getsrest; cls; return; while fqNULL; t0; do puts“n正在载入挂号数据文件“; puts“n请输入文件名“; getsfile

29、3; cls; if frfopenfile3, “rb“NULL puts“n文件不能打开“; printf“按ENTER以继续.“; getsrest; cls; if t3 puts“n读取失败,返回主菜单“; printf“按ENTER以继续.“; getsrest; cls; return; while frNULL; headNULL; while feoffp pstruct Troom *mallocTroom_len; freadp, Troom_len, 1, fp; p-subNULL; if feoffp p-nexthead; headp; while feoffq qstruct Tpro *mallocTpro_len; freadq, Tpro_len, 1, fq; q-subNULL; Search_

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1