word
word专业资料
专业设计报告
课程名称:C 语言程序设计
课题名称:医院信息管理系统
专业班别:11 本计算机科学与技术二班
姓 名:
学 号:
指导教师:
设计日期:2012-5-25
教师评语:
等级
项目f
优
良
中
及格
差
专业设计目的
设计基本要求
算法分析
源程序代码
源程序代码测试
设计总结
成绩评定:
指导教师签名:
日期:2012 年 月 日
课程设计题目医院信息管理程序
作者姓名:
同组成员:
摘要 利用结构体存储每个病人的信息和每种药品的信息,并使用链表存储全部病人的信息;能完成 对医院内所有病人信息的注册、查询、删除和修改等操作,同时又能对药房内库存的药品进行查询;可以 将链表中的病人信息保存在文件中,并且可以对文件中的病人信息进行读取与显示
专业设计目的
、掌握链表的操作,包括链表节点的创建、释放还有链表的遍历
、掌握对二进制文件的创建、增添等基本操作。
3、熟悉C语言函数的使用方法,学会模块化处理问题以及多个源文件的处理方式
2 .设计基本要求(
1、 使用结构体来存储病人的信息,结构体中包括病的id号码、姓名、病历以及消费信息,并用链 表将所有病人信息整合。
2、用文件来存储链表的信息以便下次再使用该程序时载入病人信息
3、能够实现病人信息的注册、病人信息的查询、病人消费统计、保存链表信息、载入链表信息、 查询库存等几项功能。
4、 要求用四个源文件main.c、link.c 、find.c、save_load.c
5、系统完成后应实现类似下面所示界面
3、算法分析
1、数据结构
设计链表中的一个节点存储一个病人的信息,使用下面的结构体类型定义:
struct patie nt{
char id[10];
char n ame[10];
char casehist[200];
int cost[3];
int tran sfusi on;
int surgery; struct patie nt *n ext;
};
其中cost数组用来存储病人卖药的的个数(总共三种药),casehist存储病历内容,transfusion用
来存储病人输液的花费,surgery存储手术的花费。Struct patient *next用来指向下一个病人结构体的
起始地址从而形成一个链表。
此外还要用到一个结构体来存储库存中当前的药品情况。
struct storage{
int amoun t[3]; int price[3];
};
2、函数定义
程序代码有 main.c、link.c 、find.c、save_load.c四个源文件组成,使用头文件head.h把四个源文
件连接起来,四个文件中所包含的函数说明如表所示。
源文件
函数原型
功能说明
Main .c
void test()
检测有无存储病人的一进制文件
voidin it(structstorage
*temp)
初始化库存中的药品,参数为指向struct
storage类型的指针
void prin tme nu()
打印提示菜单
Voidliststock(struct
storage temp)
列出库存中的药品
struct patie nt *en roll()
注册新病人信息
void freeall(structpatient
*temp)
清除链表内容,参数为指向struct patie nt
类型的指针
Fin d.c
void search(struct patie nt *temp)
查询单个病人的信息,参数为指向struct
patie nt类型的指针
void listall(structpatient
*temp)
列出所有病人的信息,参数为指向struct
patie nt类型的指针
Li nk.c
struct patie nt
*in sert(struct patie nt *head,struct patie nt *rea
加入新节点,参数为指向structpatie nt类
型的指针
void modify(struct patie nt *temp)
修改病人病历,参数为指向struct patie nt
类型的指针
void buy(struct patie nt *temp,struct storage *s)
/用于病人的消费处理,参数为指向struct
patie nt 类型的指针与指向struct storage
的指针
Save_load.c
void save(structpatie nt
*head)
将链表信息保存到文件中,参数为指向 struct patie nt类型的指针
struct