专业设计报告

课程名称: C语言程序设计

课题名称:医院信息管理系统

专业班别:12本计算机科学与技术二班

姓名:

学号:

指导教师:

设计日期:2012-5-25

教师评语:

等级

项目

及格

专业设计目的

设计基本要求

算法分析

源程序代码

源程序代码测试

设计总结

成绩评定:

指导教师签名:

日期:2012年月曰

课程设计题目医院信息管理程序

作者姓名:

同组成员:

摘要利用结构体存储每个病人的信息和每种药品的信息,并使用链表存储全部病人的 信息;能完成对医院内所有病人信息的注册、查询、删除和修改等操作,同时又能对药房 内库存的药品进行查询;可以将链表中的病人信息保存在文件中,并且可以对文件中的病 人信息进行读取与显示

1 .专业设计目的

1、掌握链表的操作,包括链表节点的创建、释放还有链表的遍历

2、掌握对二进制文件的创建、增添等基本操作。

3、熟悉 C 语言函数的使用方法,学会模块化处理问题以及多个源文件的处理方式 2.设计基本要求(

1、使用结构体来存储病人的信息,结构体中包括病的 id 号码、姓名、病历以及消 费信息,并用链表将所有病人信息整合。

2、用文件来存储链表的信息以便下次再使用该程序时载入病人信息

3、能够实现病人信息的注册、病人信息的查询、病人消费统计、保存链表信息、 载入链表信息、查询库存等几项功能。

4、要求用四个源文件 main.c 、link.c 、 find.c 、save_load.c

5、系统完成后应实现类似下面所示界面

3、算法分析

1、数据结构 设计链表中的一个节点存储一个病人的信息,使用下面的结构体类型定义: structpatient{

charid[10];

charname[10];

charcasehist[200];

intcost[3];

inttransfusion;

intsurgery;

structpatient*next;

};

其中 cost 数组用来存储病人卖药的的个数 (总共三种药) , casehist 存储病历内容, transfusion 用来存储病人输液的花费, surgery 存储手术的花费。 Structpatient*next 用来指向下一个病人结构体的起始地址从而形成一个链表。

此外还要用到一个结构体来存储库存中当前的药品情况。

structstorage{

intamount[3];

intprice[3];

};

2、函数定义

程序代码有 main.c 、link.c 、find.c 、 save_load.c 四个源文件组成,使用头文件

head.h 把四个源文件连接起来,四个文件中所包含的函数说明如表所示

源文件

函数原型

功能说明

Main .c

voidtest()

检测有无存

储病人的二

进制文件

void in it(structstorage*temp)

初始化库存 中的药品, 参数为指向 structstora ge类型的指 针

voidpri ntme nu()

打印提示菜

Voidliststock(structstoragetemp)

列出库存中

的药品

structpatie nt*e nroll()

注册新病人

信息

voidfreeall(structpatie nt*temp)

清除链表内 容,参数为 指向 structpatie nt类型的指 针

Fin d.c

voidsearch(structpatie nt*temp)

查询单个病 人的信息, 参数为指向 structpatie nt类型的指 针

voidlistall(structpatie nt*temp)

列出所有病 人的信息, 参数为指向 structpatie nt类型的指 针

Li nk.c

structpatie nt*in sert(structpatie nt*head,structpat

加入新节

点,参数为

ien t*rea

指向

structpatie

nt类型的指

voidmodify(structpatie nt*temp)

修改病人病 历,参数为 指向 structpatie nt类型的指 针

voidbuy(structpatie nt*temp,structstorage*s)

/用于病人的 消费处理, 参数为指向 structpatie nt类型的指 针与指向 structstora ge的指针

Save_load

voidsave(structpatie nt*head)

将链表信息

保存到文件

.C

中,参数为 指向 structpatie nt类型的指 针

structpatie nt*load(structpatie nt*head)

将文件信息 与入到链表 中,参