c课程设计药品信息管理系统_第1页
c课程设计药品信息管理系统_第2页
c课程设计药品信息管理系统_第3页
c课程设计药品信息管理系统_第4页
c课程设计药品信息管理系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、辽宁工业大学 C+语言程序设计课程设计(论文) 题目:药品信息管理系统 院(系): 软件学院 专业班级: 学 号: 学生姓名: 指导教师:翟宝峰 教师职称:副教授 起止时间:2014.12.22-2015.1.2 课程设计(论文)任务及评语 号 学 雲亠 药 课程设计论文 任务 O O 语 灿 听告 言田心卄立 计tt Mme m 设整 卅握握握M 加M 刊掌掌掌、1 M完 妇 设地 2 3 W 7/k 7/k 7/k 止 指导教师评语及成绩 日 4 月 宀字年 指 5 221 成 教研室:软件教研室 院(系):软件学院 辽宁工业大学课程设计说明书(论文) 目录 第1章课程设计目的与要求 1

2、1.1设计目的 1 1.2实验环境 1 1.3预备知识 1 1.4设计要求 1 第2章课程设计内容 2 2.1课题描述 2 22系统设计 2 2.2.1功能分析 2 2.2.2面向对象设计 2 2.2.2类成员描述 4 2.3程序实现 5 2.3.1源码分析 5 2.3.2运行结果 13 第3章总结 15 参考文献 16 辽宁工业大学课程设计说明书(论文) 第1章 课程设计目的与要求 1.1设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据 结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。 通过课程设计,学生在下述各方面的能力应该得

3、到锻炼: (1)进一步巩固、加深学生所学专业课程C+语言教程的基本理论知识,理论联系 实际,进一步培养学生综合分析问题,解决问题的能力。 (2) 全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的 最终目的。 (3) 利用所学知识,开发小型应用系统,掌握运用C+语言编写调试应用系统程序,训 练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握面向对象程序设计的方法。 (6)熟练掌握C+语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序和修改程序。 1.2实验环境 硬

4、件要求能运行 Win dows操作系统的微机系统。C+语言应用程序开发软件使用: VC+系统,或其他C+语言应用程序开发软件。 1.3预备知识 熟悉C+语言程序设计的基本知识及VC+编辑器的使用方法。 1.4设计要求 1. 仔细分析设计题目,画出程序流程图,编写程序源代码。 2. 积极上机调试源程序,增强编程技巧与调程能力。 3. 认真书写课程设计预习报告,课程设计说明书。 4. 遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成 课程设计内容。 第2章课程设计内容 2.1课题描述 在我国,随着医药卫生体制改革的深入,医药连锁经营的推行以及日趋激烈的商业 角逐,越来越多

5、的医药经营企业意识到提高企业管理水平的重要性,也迫切要求加快管理 信息化的进程。 在医药行业中,医药经营企业的物流管理以及相应的财务处理、信息处理,长期以 来一直采用手工操作,但随着产业结构调整、全新的市场竞争环境,药品企业管理和运 营效率已经成为企业成败的关键所在,手工方式的弊端毕现无遗。这就要求医药管理摆 脱过去人手操作的烦琐,充分满足了医药经营企业的各种需求,从医药经营企业的各个 环节对人流、物流、资金流、信息流进行统一系统的管理。市场的需求和技术的支持, 最终会导致越来越多的优秀医药管理软件的出现,并在竞争中得到不断的完善和优化。 本系统以C+语言实现了药品信息管理的:库存管理、药品管

6、理以及出库入库管理。 2.2系统设计 2.2.1功能分析 这是一个关于小刚药品信息管理系统,具有输入、显示、修改、查询、删除数据等 功能,用户使用时,进入主菜单选择界面,选择想要进行的操作; 1. 输入信息,输入数字“1”增加药品信息 2. 显示所有药品信息,输入数字“ 2”将所有的药品信息以列表输出 3. 查找药品信息,输入“ 3”回车确定操作,输入要修改的ID号 4修改药品信息,输入“ 4”回车确定操作,系统显示修改的页面,将需修改的药品 息输入,输入完后回车确定 5. 删除药品信息,输入“ 5”,回车确定操作,系统显示“输入删除药品的ID号,输 入要删除的药品号,系统将保存的数据删除 6

7、. 退出系统,输入“ 0”回车确定操作,退出系统。 2.2.2面向对象设计 类设计:使用面向对象的程序设计进行分析,整个系统涉及两大类可操作,仓库、 药品。所以系统主要涉及两大类:药品仓库类、药品类。 系统框架就是仓库类和药品类的定义;主函数中定义一个仓库对象,循环显示主菜 单并根据用户选择调用仓库类的相应方法(成员函数)。 考虑系统操作的药品信息具有不确定性,所以考虑使用链表保存、处理药品信息。 仓库类包含:所有药品信息的一个不带头结点的链表及可以对药品信息进行增,改,删除, 查询,数量设置,数据存盘等操作的相关模块为成员函数。所有药品都具有的公共信息 及操作可以使用仓库类进行描述。 5 %

8、們品siring 豹H : mt int slnBIrthnt录 圭出 *relurnii 用户逼巡 nl 吃 图2.1系统中uml类图之间的关系 图22总体流程图 小刚药品信息管理系统 辽宁工业大学课程设计说明书(论文) 222类成员描述 a. 药品管理员类: class adm in public: adm in(); private: stri ng n ame; ; b. 药品仓库货架类: class shelf public: shelf(); private: admin men; 管理员 stri ng storeNo;/药品仓库编号 stri ng kin ds;/药品大类 s

9、tri ng shelfNo;/药品货架号 ; 函数成员描述以及函数功能: 1、void input()通过函数输入药品信息 2、void output()通过函数输出药品信息 3、Node()通过函数使指针指向下个地址 4、List()通过函数使指针指向首地址 5、voidaddNode()通过函数添加药品信息 6、voidXSNode()通过函数显示药品所有信息 7、void queryNode1(char *TName)通过函数查询药品信息 8、voidqueryNode2(char *TName同上 9、 void delNode(char*TName)通过函数删除药品信息 10、vo

10、id saveList()通过函数储存药品信息 11、 ofs.open(data.txt);通过函数输出文本文件 12、 ifs.open(data.txt);通过函数输入文本文件 13、List()通数过定义析构函数,释放空间 2.3程序实现 2.3.1源码分析 20 定义个药品类 #i nclude #in clude #in clude void in put();/* void display();/* void search();/* void ame nd();/* void delete_slf(); /* void list(); /* struct stud /* long

11、 num; /* char n ame20; /* float price; /* int gods num; /* i nfom; class SP/* 输入*/ 显示*/ 查找*/ 修改*/ 删除*/ 菜单*/ 定义药品属性数组*/ 药品编号*/ 药品名字*/ 药品的价格*/ 药品的数量*/ */ void in put()/* FILE *fp;/* char nu mstr20,ch; 输入信息函数*/ 定义文件指针*/ if(fp=fope n(c:123.dat,wb)=NULL) exit(0); do getchar(); prin tf(ntten ter nu m:); g

12、ets( nu mstr); /*接受字符并存入数组中*/ in fom. num=atol( nu mstr); /*把字符型转换成整型*/ prin tf(ntten ter n ame:); gets(i nfom. name); prin tf(ntten ter price:); gets( nu mstr); in fom.price=atof( nu mstr); /*把字符型转换成float型*/ prin tf(ntten ter gods nu m:); gets( nu mstr); in fom.gods num=atoi( nu mstr); /*把字符型转换成整型*

13、/ fwrite( prin tf(ntti nput con tin ue(y/n)?); ch=getchar();getchar(); while(ch=Y|ch=y); fclose(fp); void display() /*显示信息函数*/ FILE *fp; char ch; int x; float f; if(fp=fope n(c:123.dat,rb)=NULL) prin tf(nCa nn t open file!n); getch(); exit(1); while(fread( prin tf(ntn ame:%s,i nfom. name); prin tf(n

14、tprice:%.3f,i nfom.price); prin tf(n tgods nu m:%d,i nfom.gods nu m); fclose(fp); void search() /*查询信息函数*/ FILE *fp; int x; long y; char ch; if(fp=fope n(c:123.dat,rb)=NULL) prin tf(nCannot ope n file!n); getch(); exit(1); do prin tf(nplease in put rec ond nu m:); sca nf(%d, y=(x-1)*sizeof(i nfom);

15、rewind(fp); /* 把指针移回文件开始*/ if(fseek(fp,y,O)!=O)/*把指针指向 Y printf(can not move there!n); exit(1); fread( prin tf( nu m:%ldn,i nfom.num); prin tf( name:%sin ,i nfom. name); prin tf(price:%fn,i nfom.price); prin tf(gods nu m:%d,i nfom.gods nu m); ch=getchar();getchar(); while(ch=Y|ch=y); fclose(fp); Cla

16、ss KF /*定义一个药品库房类*/ void amend()/* 修改信息函数*/ FILE *fp1 ,*fp2; int flag; long ch; char f; char temp10; do if(fp 1= fope n(c:VI23.dat ,rb) =NULL) printf(tCan not open the inform file!); getch(); exit(1); if(fp2=fope n( c:456.dat,wb) = NULL) printf(tCan not open the temp file!); getch(); exit(1); prin t

17、f(please in put the num you want to ame nd:); getchar(); scan f(%ld, flag=0; while(fread( prin tf(t nu m:);getchar();gets(temp); in fom. num=atol(temp); prin tf(t name:); gets(i nfom. name); prin tf(tprice:); gets(temp); in fom.price=atof(temp) prin tf(tgods nu m:); gets(temp); in fom.gods num=atoi(

18、temp); getchar(); flag=1; fwrite( fclose(fp1); fclose(fp2); if(flag = 1) prin tf(ame nd success!n); remove(c:123.dat); ren ame(c:456.dat,c:123.dat); else printf(Can not find this record!n); printf(amend any more ?(Y/N): bb); f=getchar(); getchar(); while (f=Y|f=y); void delete_slf() /*删除信息函数*/ FILE

19、* fp1,* fp2; int flag=0; /*定义一个标记*/ long ch; char f; char temp10; do if(fp仁fope n(c:123.dat,rb)=NULL) printf(tCan not open the inform file!); getch(); exit(1); if(fp2=fope n( c:456.dat,wb)=NULL) printf(tCan not creat the temp file!); getch(); exit(1); prin tf(Please in put the num you want to delete

20、:); getchar(); scan f(%ld, while(fread( else fwrite( /*分配一段内存空间 fclose(fp2); if(flag=1) prin tf(Delete success!n); remove(c:123.dat); /*删除文件123*/ ren ame(c:456.dat,c:123.dat); /*对文件456重命名*/ else printf(Can not find this record!n); prin tf(Delete any more?(Y/N): bb); f=getchar(); getchar(); while(f=Y

21、|f=y); void list() /*选择功能函数*/ int x; while(1) system(cls); printf(tt /嬲A*A$. n);/* 软件界面*/ printf(tt ./鑼 感谢使用小刚药品信息管理系统 n); prin tf(tt / aa . 工作人员 n); prin tf(tt .11 田田 1 i i 姓名:王宏刚 n); prin tf(tt prin tf(tt# 辽宁工业大学软件学院| n); printf(tt,你说过会同我一起使用!, / n); printf(tt厂,厂/ / n); prin tf(tt, , , ,/n); prin

22、tf(tt11111111111111111111111111111111 1111111111111111111n); prin tf(tt11111111111111111111111111111111 1111111111111111111n); prin tf(tt11111111111111111111111111111111 1111111111111111111nn); prin tf(tt 请选择功能: n); prin tf(tt* Wel c ome. *n); prin tf(tt* 厂i.输入药品 息 *n); prin tf(tt* *n); prin tf(tt*

23、kF *n); prin tf(tt* *n); prin tf(tt* 厂、2.显示药品 息 *n); prin tf(tt* *n); prin tf(tt* *n); prin tf(tt* *n); prin tf(tt* 3.查找药品信 息 *n); prin tf(tt* *n); prin tf(tt* *n); prin tf(tt* *n); prin tf(tt* 厂、4.修改药品信 息 *n); prin tf(tt* *n); prin tf(tt* / *n); prin tf(tt* / *n); prin tf(tt* 药品信 息 *n); prin tf(tt*

24、 *n); prin tf(tt* *n); prin tf(tt* *n); prin tf(tt* 管理程序*n); prin tf(tt* *n); prin tf(tt11111111111111111111111111111111 1111111111111111111n); prin tf(tt11111111111111111111111111111111 1111111111111111111n); prin tf(请选择功能:); sea nf(%d, if(x=0& x巧旳阳删勇翻越詛细Debug刃电務品唱艮哥酗fejfiK -臂一*副使用小獅宿舖縣紀 工作人员 姓各孫刖

25、学号:H1385B55 # =._江宁工业册件学院 川说过会同我-餓用! -/ 2QDEm2Q33QQQQQQQQQQCEEDQEm3aQDGm3Q33QQQQQQQQQQQQ 图2.3 2.程序输入时的界面图如下图 图2.4 “事总:速效 eea 12345 nZ/JJUfW 口服液 pric: i=54 載 90 trods num - 23 2-45 price godsni nuvi2 niE头抱 ppiee :3& -HM arodnun-l&324 “綁宙;十全犬补丸 gnd? num ; 927311 nuw:0 2EU:评-效槪心丸 priCR :E & -HM godsnum

26、:83743 = 图2.6 第3章总结 通过本次C+S程设计,收获还是很多的,从刚刚拿到课程设计题目后,我就先分 析这个程序的一些基本的功能,从这些基本功能出发来定下一个程序的大致框架结构, 这里面主要包括程序中所设计的类,类与类之间的继承关系以及一些主要的函数的设计 思想。比如:删除记录函数、增加记录函数等等。从一开始我就从图书馆借阅了不少的 其他相关的C+资料,这些都是很宝贵的参看资料,可以说给我最后顺利的完成程序的 编写打下了很扎实的基础 这次的课程设计,是自己独立完成了一个相对比较大的程序,里面用到的面向对象 的知识也是比较多的,通过一番实践,很好的总结、强化了之前学习过的知识要点,并

27、 且也发现了自己还没好好掌握的知识点,对于没掌握的,我查阅了参考书籍及时补上。 感觉代码写到也是后来,状态越好,我感觉是由于自己对于一些基本的知识的比较好的 掌握了。有些问题虽然没遇到过,但是通过查阅资料,只要了解了它们的用法,自己就 可以很快的模仿下来,不是照抄。这一点我觉得在今后的程序设计中也是蛮重要的,因 为我发现要写出好程序,首先应该去学习人家的程序,看懂他们的程序并且转化为自己 的。其次才有可能去创新。 参考文献 1. 郑莉、董渊 编着 C+语言程序设计 北京:清华大学出版社 2. 黄迪明 主编 C+语言程序设计基础北京:电子工业出版社 3. 钱能主编 C+程序设计教程 北京:清华大学出版社 4. 钱能C+程序设计教程 清华大学出版社,1999年 5. 吴访升 编着 C+程序设计 北京: 机械工业出版社 6. Decoder主编 C/C+程序设计 北京:中国铁道出版社 7. 谭浩强C语言程序设计(第二版)清华大学出版社,2003年 8. 吴文虎程序设计基础清华大学出版社,2003年 9. 钱启平C语言程序设计基础辅导教程铁道

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论