收藏 分销(赏)

课程设计报告-药房药品管理系统.doc

上传人:可**** 文档编号:2011817 上传时间:2024-05-13 格式:DOC 页数:81 大小:1.46MB
下载 相关 举报
课程设计报告-药房药品管理系统.doc_第1页
第1页 / 共81页
课程设计报告-药房药品管理系统.doc_第2页
第2页 / 共81页
课程设计报告-药房药品管理系统.doc_第3页
第3页 / 共81页
课程设计报告-药房药品管理系统.doc_第4页
第4页 / 共81页
课程设计报告-药房药品管理系统.doc_第5页
第5页 / 共81页
点击查看更多>>
资源描述

1、华中科技大学计算机学院课程设计课 程 设 计 报 告题目: 药房药品管理系统 课程名称: C语言与程序设计 专业班级: CS1305 学 号: U201314927 姓 名: 韩晓阳 指导教师: 王多强 报告日期: 2014年10月10日 计算机科学与技术学院- 78 -课程设计任务书一、 课题名称药房药品管理系统。二、 课题内容建立药房药品信息系统,提供创建、编辑和综合查询等基本业务管理和服务。三、 课题任务要求收集与阅读相关文献资料,确定系统目标与范围,分析系统需求,确定系统功能;设计系统方案,完成系统实现;提交课程设计报告。四、 同组设计者 无五、 主要参考文献1曹计昌,卢萍,李开. C

2、语言与程序设计,北京:电子工业出版社,20132张引. C程序设计基础课程设计, 杭州: 浙江大学出版社,20073黄明,梁旭,万洪莉. C语言课程设计,北京: 电子工业出版社,2006目录1 引言- 1 -1.1 课题背景和意义- 1 -1.2 国内外研究现状- 1 -1.3 课程设计的主要研究工作- 2 -2 系统需求分析与总体设计- 2 -2.1 系统需求分析- 2 -2.2 系统总体设计- 2 -3 系统详细设计- 3 -3.1 有关数据结构的定义- 3 -3.2 主要算法设计- 5 -4 系统实现与测试- 13 -4.1 系统实现- 13 -4.2系统测试- 20 -5 总结与展望-

3、 37 -5.1 全文总结- 37 -5.2 工作展望- 38 -体 会- 39 -参考文献- 39 -附录:源程序代码- 39 -1 引言1.1 课题背景和意义在当今网络化、信息化、数字化的社会中, 由于计算机已经深入各行各业,而且现代社会,各个领域信息量大、信息更新迅速、信息处理要求方便及时,因此在各行各业都需要一个数字化系统处理相应数据,药房药品的管理也是如此。我国拥有传统的中医和近现代随着时间文化交流传播发展所学习的西医,导致药品种类尤为繁多,规模很大,传统的手工记录、查询、修改等等操作极易出错而且工作效率底下,已经不适合现代化发展的需求。因此,当今社会,药房药品管理系统是非常为人们所

4、需要的,它能够使得使用者提高工作效率,实现药房药品信息的科学有效管理,便于操作、应用前景广泛。1.2 国内外研究现状目前国内外已经有许多医院建立了较为完善的药品管理系统。但比较之下我国的医药管理系统却还不够完善,西方发达国家以及美国等发达国家,都已经全面建立起完善的网络化交互系统。随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增加,医药行业正处于一个高速发展的时期,各类新药层出不穷,行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求企业必须加强内部管理,提高运营效率。信息技术和计算机技术的迅速发展,改变了整个信息管理的面貌,从根本上加强并促进了群体工作成员之间的

5、信息交流、资源共享、科学计算、技术合作及有效管理等,药房药品信息系统的应用,大大改变了药房管理模式和工作流程,对提高药房或者医院的管理水平、质量效益、经济效益和社会效益起到了巨大的促进作用。另外,由于医药产品种类繁多、销售模式特殊、业务最大,单凭手工记帐已很难适应工作的需要。医药作为一个关系到人们健康的特殊行业,国家对此又有一些不同于其他行业的管理政策,这些都加大了管理的难度。1.3 课程设计的主要研究工作本次课程设计主要研究的工作是利用C语言计出一款简易的药房药品管理系统,能够实现创建药房药品信息系统,实现编辑、查询、添加、删除药房信息、药品信息、记录信息等等功能,并由文本菜单界面完成人机交

6、互界面,以及采用三重交叉链表实现数据的保存和数据之间的连接。2 系统需求分析与总体设计2.1 系统需求分析作为药房药品管理系统的用户,主要需求是在建立系统后,实现查询、添加、删除等几大方面功能,主要由主函数和文本菜单界面实现,用户使用主要是执行功能函数的实现。流程大致是在主函数中实现文本菜单界面的构建,主要是窗口界面、主菜单和下拉子菜单的实现。采用顺序结构,由执行功能函数实现用户的自我选择功能使用,返回、系统的退出等等功能,功能函数的使用存在在子菜单中,相应实现。2.2 系统总体设计本部分为各模块功能说明,系统所以功能详见图2.1,功能包括信息的查询、信息的删除、信息的删除、信息更新保存几个模

7、块。信息查询部分包括查找输出药房信息、查找输出某个药房的某个药品信息和查找输出某个药房的某个药品的出入库信息等功能;信息删除部分包括删除某个药房信息、删除某个药房的某个药品信息和删除某个药房的某个药品的出入记录信息等功能;信息添加部分包括添加一个新的药房信息、添加一个新药品信息到某药房和添加一个新的记录到某个药房的某个药品等功能;信息更新保存部分包括药品数量更新、保存药房信息至文件、保存药品信息至文件和保存记录信息至文件等功能,其中保存功能为系统自动执行的功能。具体如下:功能查找输出某个药房信息查找输出某个药房某药品信息查找输出某个药房的某个药品的出入库信息查询信息图2.1模块功能图删除某个药

8、房信息删除某个药房的某个药品信息删除某个药房的某个药品的出入库信息删除信息添加一个新的药房信息添加一个新药品信息到某药房添加一个新的记录到某个药房的某个药品添加信息更新某个药品库存数量* 保存药房信息至文件* 保存药品信息至文件* 保存记录信息至文件注:标有 * 的功能为保存至文件功能,退出该系统前会自动执行信息更新保存3 系统详细设计3.1 有关数据结构的定义本系统采取十字交叉链表结构,一个指向药房结构类型的结构指针作为整个链表的头指针,每一个药房信息作为一个结点,药房与药房之间的连接用的是药房结构类型中的第一个结构指针,每一个药房又作为一个头结点向另一个方向创建一个单链表,即药品结构信息,

9、连接的方式与第一重类似,同样的,每个药品结点又作为一个头结点创建一个单链表,是为出入记录的信息储存。三重交叉链表的第一重、第二重、第三重结点分别用来保存药房、药品、记录信息。第一重结点定义为药房信息结点,包含有药房的名称、地址和电话,以及两个结构指针,一个指向下一个药房信息结点,另一个是指向第二重结点即药品信息结点的结构指针。数据及数据项类型具体定义如下:struct yaofang /第一类信息:药房信息结构类型声明 char name150; /药房名称 char location150; /药房地址 char tele120; /药房电话 struct yaofang *next1; /

10、指向下一药房的指针 struct yaopin *down1; /指向该药房第一个药品信息的指针;第二重结点定义为药品信息结点,包括药品的编号、药品名称、药品产地和药品数量等基本药品信息,以及两个结构类型指针,其中一个指向下一个药品信息结点,另一个指向该药品对应的第三重链表结点即出入记录结点的结构指针。数据及数据项类型具体定义如下:struct yaopin /第二类信息:药品信息结构类型声明 int id; /药品编号 char name250; /药品名称 char made_place50; /药品产地 int number; /药品数量 struct yaopin *next2; /指

11、向下一药品的指针 struct jilu *down2; /指向该药品第一条记录的指针;第三重结点定义为记录信息结点,包括记录日期、记录标志(出或者入)、记录数量等基本记录信息,以及一个指向下一个记录的结构类型指针,数据及数据项类型具体定义如下:struct jilu /第三类信息:出入记录信息结构类型声明 int date; /日期 int mark; /出入标志(出还是入) int many; /数量 struct jilu *next3; /指向下一记录的指针;多重链表的具体组织和关联示意详见图3.1所示。 head 药品11 药品12 药品1m 药房1 药房2药房n 出入记录111 出

12、入记录11p 图3.1药房药品管理系统的三重交叉链表结构示意图3.2 主要算法设计本程序流程设计示意如图3.2所示,先完成文本菜单的构建,包括主菜单、界面、下拉子菜单等等,再创建三重交叉链表并同时完成信息的录入,进入含有函数指针数组的功能选择菜单,功能选择菜单含有五项选择的主菜单(即五个主要部分的功能选择菜单),每一个模块所调用的函数,以及功能图可以详见4.1系统实现部分。每一个主菜单又下设相应的子菜单,含有相应的执行功能,系统流程设计示意如图4.1所示,用户可以根据自己的选择,并且按照系统提示,每一次执行一项功能,每一次功能执行完毕之后会自动返回主菜单,用户可以继续进行操作,选择某项功能执行

13、,只有当用户选择退出菜单中的退出系统功能之时时,系统才会退出。开始创建三重交叉链表功能选择菜单保存药房信息至文件保存药房信息至文件保存药房信息至文件结束12930文本菜单构建1查找输出药房信息查找输出药品信息查找输出记录信息删除药房信息删除药品信息删除记录信息增加药房信息6789101112查询信息删除信息增加信息更新信息2323452830退出增加药品信息增加记录信息更新药品数量161718192021222313141524254528296输入药房名称name1药房查找函数赋给pP为空输出“无该药房”调用药房输出函数YN167输入药房名称name1药房查找函数赋给pp为空输入药品名称na

14、me2输出“无该药房”NY药品查找函数赋给tt为空输出“无该药品”Y调用药品输出函数N178输入药房名称name1药房查找函数赋给pP为空输入药品名称name2N药品查找函数赋给tt为空输出“无该药房”Y调用记录输出函数NY输出“无该药品”189head代入药房删除函数1910输入所在药房name1药房查找函数赋给p&p-down1代入药品删除函数2011输入所在药房name1药房查找函数赋给p输入药品名称name2药品查找函数赋给t&t-down2代入记录删除函数2112head代入药房添加函数2213输入所在药房name1药房查找函数赋给pp-down1代入药品添加函数2314输入所在药房

15、name1药房查找函数赋给q24q为空输出无该药房Y输入所找药品name2N药品查找函数赋给rr为空输出无该药品Yr-down2代入记录添加函数N15输入所在药房name1药房查找函数赋给qq为空输出无该药房Y26N272526输入所在药品name2药品查找函数赋给rr为空输出无该药房Y&r带入数量更新函数N27图3.2程序流程图4 系统实现与测试4.1 系统实现系统实现硬件环境如图4.1所示:图4.1系统硬件环境截图系统实现软件环境为,codeblocks 12.11版。结构类型详见3.1或源程序代码,下面4.1.1-4.1.13为详细说明各模块功能的实现。4.1.1 主函数程序功能模块主函

16、数程序模块示意如图4.2所示,采用顺序结构,先调用相应函数构建好文本菜单界面,在构建完成之后调用清屏函数实现清屏,之后再调用三重交叉链表创建函数完成三重交叉链表的创建,链表创建完成之后进入用户界面,即显示出文本菜单用户界面,同时主函数调用运行函数运行系统,此时用户可以按照需求使用系统,并按照提示使用系统,选择功能、选择继续或退出,利用执行功能函数中函数指针数组的使用,每一次调用相应功能函数系统都会自动保存信息。用户使用相应退出操作之后,系统正常停止运行,正常退出该系统。主函数窗口初始设置清除屏幕调用三重交叉链表创建函数显示主菜单显示下拉菜单运行系统执行功能函数图 4.2主函数程序功能模块示意图

17、4.1.2 三重交叉链表创建函数程序功能模块三重交叉链表创建函数程序功能模块示意如图4.3所示,含3个链表创建函数,采用两个while语句嵌套(详见附录源程序代码),实现三重交叉链表创建。三重交叉链表创建函数调用第一维链表创建函数调用第二维链表创建函数调用第三维链表创建函数图 4.3三重交叉链表创建函数模块示意图4.1.3 执行功能函数程序功能模块执行功能函数程序模块示意如图4.4所示,主菜单栏信息查询、信息删除、信息添加、记录更新和退出五项,前三项每一项下设三个相应功能的子菜单栏,分别用来调用相应功能执行函数,各功能函数的实现详见2.4-2.13。菜单信息查询信息删除信息添加记录更新退出查找

18、输出药房信息子菜单查找输出药品信息子菜单查找输出记录信息子菜单删除药房信息子菜单删除药品信息子菜单删除记录信息子菜单添加药房信息子菜单添加药品信息子菜单添加记录信息子菜单图 4.4执行函数程序功能模块示意图4.1.4查找输出药房信息子菜单程序功能模块查找输出药房信息子菜单依次调用药房查找函数和药房信息输出函数来实现本子菜单对应功能,如图4.5所示。查找输出药房信息子菜单调用药房查找函数调用药房信息输出函数图 4.5查找输出药房信息子菜单程序功能模块示意图4.1.5查找输出药品信息子菜单程序功能模块查找输出药品信息子菜单示意如图4.6所示,先调用药房查找函数查找相应药房,找到时再调用药品查找函数

19、查找相应药品,若找到,再调用药品信息输出函数实现药品信息的输出。查找输出药品信息子菜单调用药房查找函数调用药品信息输出函数调用药品查找函数图 4.6查找输出药品信息子菜单程序功能模块示意图4.1.6查找输出记录信息子菜单程序功能模块查找输出记录信息子菜单程序功能模块示意如图4.7所示,和2.5实现方式类似,先调用药房查找函数查找相应药房,找到时再调用药品查找函数查找相应药品,若找到,只是改换成调用药品记录信息输出函数来实现相应药品记录信息的输出。查找输出记录信息子菜单调用药房查找函数调用记录信息输出函数调用药品查找函数图 4.7查找输出记录信息子菜单程序功能模块示意图4.1.7删除药房信息子菜

20、单程序功能模块删除药房信息子菜单程序功能模块示意如图4.8所示,因删除药房函数本身自带有药房查找函数(详见附录:源程序代码),故直接调用删除药房函数,即可实现删除药房信息这一功能。删除药房信息子菜单调用删除药房函数图 4.8删除药房信息子菜单程序功能模块示意图4.1.8删除药品信息子菜单程序功能模块删除药品信息子菜单程序功能模块示意如图4.9所示,先调用药房查找函数找到想要删除的药品所在药房,找到之后再调用药品删除函数(药品删除函数包含有查找药品功能)删除相应药品,来实现此项功能。删除药品信息子菜单调用药房查找函数调用删除药品函数图 4.9删除药品信息子菜单程序功能模块示意图4.1.9删除记录

21、信息子菜单程序功能模块删除记录信息子菜单程序功能模块示意如图4.10所示,与2.8类似,先调用药房查找函数找到想要删除的药品记录所在药房,找到之后再调用药品查找函数查找药品,找到之后最后调用记录删除函数来实现需要删除记录的删除,实现此项功能。删除记录信息子菜单调用药房查找函数调用药品查找函数调用记录删除函数图 4.10删除记录信息子菜单程序功能模块示意图4.1.10添加药房信息子菜单程序功能模块添加药房信息子菜单程序功能模块示意如图4.11所示,直接调用药房添加函数,在第一维链表后边创建一个新的药房结点,即可完成添加一个药房信息的功能。添加药房信息子菜单调用添加药房函数图 4.11添加药房信息

22、子菜单程序功能模块示意图4.1.11添加药品信息子菜单程序功能模块添加药品信息子菜单程序功能模块如图4.12所示,先调用药房查找函数,查找需要添加在哪一个药房下边,找到之后,调用添加药品函数,添加一个新的药品在该药房明下,即可实现药品信息添加的功能。添加药品信息子菜单调用药房查找函数调用添加药品函数图 4.12添加药品信息子菜单程序功能模块示意图4.1.12添加记录信息子菜单程序功能模块添加记录信息子菜单程序功能模块示意如图4.13所示,依次使用药房查找函数和药品查找函数找到需要添加哪一个药房哪一个药品的记录,在找到药品之后,调用添加记录函数,即可添加一条记录在指定的药品中,完成此项功能。添加

23、记录信息子菜单调用药房查找函数调用药品查找函数调用添加记录函数图 4.13添加记录信息子菜单程序功能模块示意图4.1.13更新药品数量信息子菜单程序功能模块由于出入记录的添加或者删除,导致相应的药品数量会随之发生改变,此项功能通过遍历相应的第三维链表,可以实现更新药品的库存数量。更新药品数量信息子菜单程序功能模块示意如图4.14所示首先依次调用药房查找函数和药品查找函数,找到需要更新库存数量的药品,之后在调用数量更新函数,实现指定药品数量的更新,实现此项功能。更新药品数量信息子菜单调用药房查找函数调用药品查找函数调用数量更新函数图 4.14更新药品信息子菜单程序功能模块示意图4.2 系统测试本

24、部分为各项模块功能的测试,具体各功能的测试数据的选取、测试步骤的描述和过程、测试的结果与截图详见4.2.1-4.2.12.4.2.1 初始数据录入测试首先进行数据初始化的调试,初始化数据见表4.1:表4.1 初始数据表药房信息药品信息编号名称产地数量记录药房1龙胜药房武汉市江汉路888844441001板蓝根颗粒广州5421002枇杷膏北京4501003克感敏上海604药房2怡康药房西安市莲湖路888800002001葡萄糖成都3532002青霉素注射液重庆5872003云南白药昆明655药房3泰生医药广州市广州大道335577993001甲硝锉上海5123002医用酒精长沙4213003高钙

25、高苏州588记录信息记录日期记录标志记录数量201310012102201311291472013112928820140116190201401032402014040229020131118142201402222140201309291412013122821452013120119120131217212020131010133201402022101201310011312014040328120140220288201402222111完成初始化,进入主菜单界面,如图4.15所示:图4.15初始化完成后界面截图完成初始化文件内储存情况见图4.16、图4.17以及图4.18:图4.1

26、6初始化完成后文件内药房信息储存情况截图图4.17初始化完成后文件内药品信息储存情况截图图4.18初始化完成后文件内药品出入记录信息储存情况截图4.2.2查找输出某个药房信息功能调试本部分为查找输出某个药房信息功能调试,测试数据为查找“怡康药房”,检测结果如图4.19所示:图4.19查找输出某个药房信息功能调试截图4.2.3查找输出某个药房的某个药品信息功能调试本部分为查找输出某个药房的某个药品信息功能调试,测试数据为查找“泰生医药”药房的药品“医用酒精”,检测结果如图4.20所示:图4.20查找输出某个药房的某个药品信息功能调试截图4.2.4查找输出某个药房的某个药品的记录信息功能调试本部分

27、为查找输出某个药房的某个药品的记录信息功能调试,测试数据为查找“龙胜药房”药房的药品“克感敏”的出入记录,检测结果如图4.21所示:图4.21查找输出某个药房的某个药品出入记录信息功能调试截图4.2.5删除某个药房信息功能调试本部分为删除某个药房信息功能调试,测试数据为删除“龙胜药房”药房,检测结果如4.22所示:图4.22删除某个药房信息功能调试截图1删除完毕之后再使用查找功能,观察是否成功删除,结果如图4.23所示:图4.23删除某个药房信息功能调试截图2删除完成之后在文件中查看如图4.24所示:图4.24删除某个药房信息功能调试截图34.2.6删除某个药房的某个药品信息功能调试本部分为删

28、除某个药房的某个药品信息功能调试,测试数据为删除“怡康药房”药房的药品“克感敏”,检测结果如图4.25所示:图4.25删除某个药房的某个药品信息功能调试截图1删除完毕之后再使用查找功能,观察是否成功删除,结果如图4.26所示:图4.26删除某个药房的某个药品信息功能调试截图2删除完成之后在文件中查看如图4.27所示:图4.27删除某个药房的某个药品信息功能调试截图34.2.7删除某个药房的某个药品的某个记录信息功能调试本部分为删除某个药房的某个药品的某条记录信息功能调试,测试数据为删除“泰生医药”药房的药品“甲硝锉”的“20131010”日期的出入记录,检测结果如图4.28所示:图4.28删除

29、某个药房的某个药品的某条记录信息功能调试截图1删除完毕之后再使用查找功能,观察是否成功删除,结果如图4.29所示:图4.29删除某个药房的某个药品的某条记录信息功能调试截图2删除完成之后在文件中查看如图4.30所示:图4.30删除某个药房的某个药品的某条记录信息功能调试截图34.2.8添加一个新药房功能调试本部分为添加一个新药房功能调试,测试数据为添加刚才删除的“龙胜药房”药房检测结果如图4.31所示:图4.31添加一个新药房信息功能调试截图1添加完毕之后再使用查找功能,观察是否成功添加,结果如图4.32所示:图4.32添加一个新药房信息功能调试截图2添加完成之后在文件中查看如图4.33所示:

30、图4.33添加一个新药房信息功能调试截图34.2.9添加一个药品信息到某个药房功能调试本部分为添加一个新药品到某个药房功能调试,测试数据为添加刚才删除的药品“青霉素注射液”检测结果如图4.34所示:图4.34添加一个药品信息到某个药房功能调试截图1添加完毕之后再使用查找功能,观察是否成功添加,结果如图4.35所示:图4.35添加一个药品信息到某个药房功能调试截图2添加完成之后在文件中查看如图4.36所示:图4.36添加一个药品信息到某个药房功能调试截图34.2.10添加一个记录信息到某个药房的某个药品功能调试本部分为添加一个新药品到某个药房功能调试,测试数据以及检测结果如图4.37所示:图4.

31、37添加一个记录信息到某个药房的某个药品功能调试截图1添加完毕之后再使用查找功能,观察是否成功添加,结果如图4.38所示:图4.38添加一个记录信息到某个药房的某个药品功能调试截图2添加完成之后在文件中查看如图4.39所示:图4.39添加一个记录信息到某个药房的某个药品功能调试截图34.2.11更新某个药品库存数量功能调试本部分为更新某个药品库存数量功能调试,测试数据为更新怡康医药的葡萄糖药品的库存数量,测试结果如图4.40-图4.42所示,首先,更新前文件如图4.40所示:图4.40更新某个药品库存数量功能调试截图1然后更使用更新功能如图4.41所示:图4.41更新某个药品库存数量功能调试截

32、图2更新完成之后在文件中查看如图4.42所示:图4.42更新某个药品库存数量功能调试截图24.2.12退出系统功能调试本部分为退出系统功能调试,调试结果如图4.43所示:图4.43退出系统功能调试截图5 总结与展望5.1 全文总结对自己的工作做个总结,主要工作如下:(1)对菜单选择,选择文本菜单,基本按照实验教材C语言实验与课程设计第3.4节内容设计文本菜单界面,包括主菜单,下拉菜单等等。在文本菜单制作好之后,出现了很多问题,由于我刚开始设计的简易菜单,转换成为的文本菜单,很多函数带有参量或者是返回值,但是功能调用函数ExeFunction中函数指针数组pFunction中,如果带入上述函数,

33、会出现报错,于是我将所有功能需要调用的函数全部改成了BOOL XXXX(void)的类型。另外,再主菜单的间距上,用了最笨的办法,加空格,但是在下拉子菜单中就无所适从了,导致了子菜单稍微歪离主菜单的瑕疵。(2)对链表选择,选择创建三重交叉链表,第一次我尝试将链表创建过程(即本程序的create_cross_link_list函数)放在主函数中,并且先创建链表,再进行赋值,可是后来发现,三重交叉链表不像单链表,创建后再赋值会使得程序不必要的复杂化,所以我改成了创建链表的同时完成赋值的工作。总体函数功能包括查找、添加、删除和更新库存信息几个内容。在写子函数的时候,一开始担心函数实参和形参的转换问题

34、,滥用了很多二重指针,导致程序复杂化,后来基本改用简便可行的一重指针。另外,在写删除函数的时候,一开始忽略了删除头结点的情况,使得程序出现大的漏洞,幸好在调试的时候发现,及时改正。(3)对总体来说,我觉得这次课程设计对我来说文本菜单的创建比三重交叉链表要困难很多,反映在结果上边也是如此,首先实验教材C语言实验与课程设计第3.4节内容自己定义头文件,而我简化了这个过程,另外课本上很多东西很难以理解,造成自己在局部调整和修改的时候无从下手,因此相比较而言,文本菜单的构建比三重交叉链表难一些,主要原因是文本菜单里边很多东西还是没有理解透彻,这也是今后需要努力的地方。5.2 工作展望在今后的研究中,围

35、绕着如下几个方面开展工作:(1)第一是三重交叉链表的创建,我每一重每一个方向都是调用创建单链表函数进行创建,显然这样属于效率最低的一种创建方式,如何用一种优于本程序的方式创建三重交叉链表,是今后研究的一个问题。(2)第二,也是最主要的一点,就是文本菜单上边。首先是清屏函数,如何在清屏之后,可以使得新信息出现在原有清除位置,不至于出现空白;接着是文本菜单下拉子菜单和主菜单对齐的问题,需要今后研究;还有就是文本菜单如何能够像简易菜单一样,可以用鼠标滚动轮上下滚动查看先前的信息,也是今后深入研究的工作之一。(3)第三,是一些系统舒适性的小变动,比如查询药房功能如果只输入药房部分名称,如何也使得可以查

36、到,以及输入电话号码信息时如果输入非数字字符,系统能够提示不正确并重新输入等等问题,都是人机交互和谐性问题,都是以后需要改进和研究的问题。体 会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。 首先开始着手课程设计,感觉没有一个下手点,就像一道大菜不知道从哪里开始吃,心里就莫名的慌,不过后来我慢慢调整心态,想着一点点一步步来,总能完成,就这样一步步一点点,小溪终入大海。课程设计对于

37、我们这些新手来说,这是很大的考验,从拿到题目到完成整个编程,从理论到实践,在整整两个月的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说链表通过这次课

38、程设计之后,一定把以前所学过的知识重新温故。参考文献1曹计昌,卢萍,李开. C语言程序设计,北京:科学出版社,20132李开,卢萍,曹计昌. C语言实验与课程设计,北京:科学出版社,2011附录:源程序代码#include #include #include #include #include #include #include #include #include #include #include #ifndef TYPE_H_INCLUDED#define TYPE_H_INCLUDED#define SCR_ROW 25 /*屏幕行数*/#define SCR_COL 80 /*屏幕列数

39、*/#define N 3 /药房初始数量定义#define M 3 /药品初始数量定义#define K 2 /记录初始数量定义#define true 1#define false 0typedef struct jilu /第三类信息:出入记录信息结构类型声明 int date; /日期 int mark; /出入标志(出还是入) int many; /数量 struct jilu *next3; /指向下一记录的指针JILU;typedef struct yaopin /第二类信息:药品信息结构类型声明 int id; /药品编号 char name250; /药品名称 char ma

40、de_place50; /药品产地 int number; /药品数量 struct yaopin *next2; /指向下一药品的指针 struct jilu *down2; /指向该药品第一条记录的指针YAOPIN;typedef struct yaofang /第一类信息:药房信息结构类型声明 char name150; /药房名称 char location150; /药房地址 long tele1; /药房电话 struct yaofang *next1; /指向下一药房的指针 struct yaopin *down1; /指向该药房第一个药品信息的指针YAOFANG;/屏幕窗口信息

41、链结点结构typedef struct layer_nodechar LayerNo;SMALL_RECT rcArea;CHAR_INFO* pContent;char* pScrAtt;struct layer_node* next;LAYER_NODE;/标签束结构typedef struct label_bundlechar* ppLabel;COORD* pLoc;int num;LABEL_BUNDLE;/热区结构typedef struct hot_areaSMALL_RECT* pArea;char* pSort;char* pTag;int num;HOT_AREA;LAYER_NODE * gp_top_layer = NULL; /弹出窗口信息链链头YAOFANG *

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服