1、辽 宁 工 业 大 学C+语言程序设计课程设计(论文)题目: 药品信息管理系统 院(系): 软 件 学 院 专业班级: 学 号: 学生姓名: 指导老师: 翟宝峰 老师职称: 副教授 起止时间:.12.22-.1.2 课程设计(论文)任务及评语院(系):软件学院 教研室:软件教研室学 号学生姓名专业班级课程设计(论文)题目药品信息管理系统课程设计(论文)任务程序设计任务和要求:(1). 掌握面向对象程序设计语言C+基础语法(2). 掌握C+面向对象设计思想(3). 掌握VC+6.0和DEV C+ 开发工具使用 (4). 利用标准C+规范设计应用程序设计过程中,要严格遵守设计时间安排,听从指导老师
2、指导。正确地完成上述内容,规范完整地撰写出设计汇报。指导老师评语及成绩 成绩: 指导老师签字: 1 月 4日目 录第1章 课程设计目标和要求11.1设计目标11.2试验环境11.3预备知识11.4设计要求1第2章 课程设计内容22.1 课题描述22.2 系统设计22.2.1功效分析22.2.2面向对象设计22.2.2类组员描述42.3程序实现52.3.1源码分析52.3.2运行结果13第3章 总结15参考文件16第1章 课程设计目标和要求1.1设计目标将理论教学中包含到知识点贯穿起来,对不一样数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达成融会贯通程度
3、。经过课程设计,学生在下述各方面能力应该得到锻炼:(1)深入巩固、加深学生所学专业课程C+语言教程基础理论知识,理论联络实际,深入培养学生综合分析问题,处理问题能力。(2)全方面考评学生所掌握基础理论知识及其实际业务能力,从而达成提升学生素质最终目标。(3)利用所学知识,开发小型应用系统,掌握利用C+语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理综合能力。(4)对于给定设计题目,怎样进行分析,理清思绪,并给出对应数学模型。(5)掌握面向对象程序设计方法。(6)熟练掌握C+语言基础语法,灵活利用多种数据类型。(7)深入掌握在集成环境下怎样调试程序和修改程序。1.2试验环境硬件要求能
4、运行Windows 操作系统微机系统。C+语言应用程序开发软件使用:VC+ 系统,或其它C+语言应用程序开发软件。1.3预备知识熟悉C+语言程序设计基础知识及VC+编辑器使用方法。1.4设计要求1.仔细分析设计题目,画出程序步骤图,编写程序源代码。2.主动上机调试源程序,增强编程技巧和调程能力。3.认真书写课程设计预习汇报,课程设计说明书。4.遵守课程设计要求和机房管理制度,服从指导老师安排,确保课程设计顺利完成课程设计内容。第2章 课程设计内容2.1 课题描述在中国,伴随医药卫生体制改革深入,医药连锁经营推行和日趋猛烈商业角逐,越来越多医药经营企业意识到提升企业管理水平关键性,也迫切要求加紧
5、管理信息化进程。在医药行业中,医药经营企业物流管理和对应财务处理、信息处理,长久以来一直采取手工操作,但伴随产业结构调整、全新市场竞争环境,药品企业管理和运行效率已经成为企业成败关键所在,手工方法弊端毕现无遗。这就要求医药管理摆脱过去人手操作烦琐,充足满足了医药经营企业多种需求,从医药经营企业各个步骤对人流、物流、资金流、信息流进行统一系统管理。市场需求和技术支持,最终会造成越来越多优异医药管理软件出现,并在竞争中得到不停完善和优化。 本系统以C+语言实现了药品信息管理:库存管理、药品管理和出库入库管理。2.2 系统设计2.2.1功效分析这是一个相关小刚药品信息管理系统,含有输入、显示、修改、
6、查询、删除数据等功效,用户使用时,进入主菜单选择界面,选择想要进行操作;1.输入信息,输入数字“1”,增加药品信息2.显示全部药品信息,输入数字“2”,将全部药品信息以列表输出3.查找药品信息,输入“3”,回车确定操作,输入要修改ID号4.修改药品信息,输入“4”回车确定操作,系统显示修改页面,将需修改药品息输入,输入完后回车确定5.删除药品信息,输入“5”,回车确定操作,系统显示“输入删除药品ID号,输入要删除药品号,系统将保留数据删除6.退出系统,输入“0”,回车确定操作,退出系统。2.2.2面向对象设计类设计:使用面向对象程序设计进行分析,整个系统包含两大类可操作,仓库、药品。所以系统关
7、键包含两大类:药品仓库类、药品类。系统框架就是仓库类和药品类定义;主函数中定义一个仓库对象,循环显示主菜单并依据用户选择调用仓库类对应方法(组员函数)。考虑系统操作药品信息含有不确定性,所以考虑使用链表保留、处理药品信息。仓库类包含:全部药品信息一个不带头结点链表及能够对药品信息进行增,改,删除,查询,数量设置,数据存盘等操作相关模块为组员函数。全部药品全部含有公共信息及操作能够使用仓库类进行描述。图2.1系统中uml类图之间关系小刚药品信息管理系统增加药品信息查看药品信息退出系统药品信息药品分类信息按名称查询按类别查询增加药品库存信修改药品信息直接退出增加、删除药品信息图2.2总体步骤图2.
8、2.2类组员描述a.药品管理员类:class adminpublic:admin();private:string name;b.药品仓库货架类:class shelfpublic:shelf();private:admin men;/管理员string storeNo;/药品仓库编号string kinds;/药品大类string shelfNo;/药品货架号;函数组员描述和函数功效:1、voidinput()经过函数输入药品信息2、voidoutput()经过函数输出药品信息3、Node()经过函数使指针指向下个地址4、List()经过函数使指针指向首地址5、voidaddNode()经过
9、函数添加药品信息6、voidXSNode()经过函数显示药品全部信息7、voidqueryNode1(char*TName)经过函数查询药品信息8、voidqueryNode2(char*TName)同上9、voiddelNode(char*TName)经过函数删除药品信息10、voidsaveList()经过函数储存药品信息11、ofs.open(data.txt);经过函数输出文本文件12、ifs.open(data.txt);经过函数输入文本文件13、List()通数过定义析构函数,释放空间2.3程序实现2.3.1源码分析#include#include#includevoid inpu
10、t(); /*输入*/void display(); /*显示*/ void search(); /*查找*/ void amend(); /*修改*/void delete_slf(); /*删除*/void list(); /*菜单*/struct stud /*定义药品属性数组*/long num; /*药品编号*/char name20; /*药品名字*/float price; /*药品价格*/int godsnum; /*药品数量*/infom;class SP/*定义个药品类*/ void input() /*输入信息函数*/FILE *fp; /*定义文件指针*/char nu
11、mstr20,ch;if(fp=fopen(c:123.dat,wb)=NULL) exit(0);do getchar(); printf(nttenter num:);gets(numstr); /*接收字符并存入数组中*/infom.num=atol(numstr); /*把字符型转换成整型*/ printf(nttenter name:);gets(infom.name); printf(nttenter price:);gets(numstr);infom.price=atof(numstr);/*把字符型转换成float型*/ printf(nttenter godsnum:);g
12、ets(numstr);infom.godsnum=atoi(numstr);/*把字符型转换成整型*/ fwrite(&infom,sizeof(infom),1,fp); printf(nttinput continue(y/n)?); ch=getchar();getchar();while(ch=Y|ch=y);fclose(fp);void display() /*显示信息函数*/FILE *fp;char ch;int x;float f;if(fp=fopen(c:123.dat,rb)=NULL) printf(nCannt open file!n); getch(); exi
13、t(1);while(fread(&infom,sizeof(struct stud),1,fp)=1) printf(ntnum:%ld,infom.num); printf(ntname:%s,infom.name); printf(ntprice:%.3f,infom.price); printf(ntgodsnum:%d,infom.godsnum); fclose(fp);void search() /*查询信息函数*/FILE *fp;int x;long y;char ch;if(fp=fopen(c:123.dat,rb)=NULL) printf(nCannot open f
14、ile!n); getch(); exit(1);do printf(nplease input recond num:); scanf(%d,&x); y=(x-1)*sizeof(infom); rewind(fp); /*把指针移回文件开始*/ if(fseek(fp,y,0)!=0)/*把指针指向Y*/ printf(can not move there!n); exit(1); fread(&infom,sizeof(infom),1,fp); printf(num:%ldn,infom.num); printf(name:%sn,infom.name); printf(price:
15、%fn,infom.price); printf(godsnum:%d,infom.godsnum); ch=getchar();getchar();while(ch=Y|ch=y);fclose(fp);Class KF /*定义一个药品库房类 */ void amend() /*修改信息函数*/FILE *fp1 ,*fp2;int flag;long ch;char f;char temp10;do if(fp1=fopen(c:123.dat ,rb) =NULL) printf(tCan not open the inform file!); getch(); exit(1); if
16、(fp2=fopen(c:456.dat,wb) = NULL) printf(tCan not open the temp file!); getch(); exit(1); printf(please input the num you want to amend:); getchar(); scanf(%ld,&ch); flag=0; while(fread(&infom,sizeof(infom),1,fp1)=1) if(ch=infom.num) printf(nnPlease input the new information:n); printf(tnum:);getchar
17、();gets(temp);infom.num=atol(temp); printf(tname:);gets(infom.name); printf(tprice:);gets(temp);infom.price=atof(temp) printf(tgodsnum:);gets(temp);infom.godsnum=atoi(temp); getchar(); flag=1; fwrite(&infom,sizeof(infom),1,fp2);fclose(fp1);fclose(fp2);if(flag = 1) printf(amend success!n); remove(c:1
18、23.dat); rename(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 * fp1,* fp2;int flag=0; /*定义一个标识*/long ch;char f;char temp10;do if(fp1=fopen(c:123.dat,rb)=NULL) printf(tCan not open
19、the inform file!); getch(); exit(1); if(fp2=fopen(c:456.dat,wb)=NULL) printf(tCan not creat the temp file!); getch(); exit(1); printf(Please input the num you want to delete:); getchar(); scanf(%ld,&ch); while(fread(&infom,sizeof(infom),1,fp1)=1) if(ch=infom.num) flag=1; elsefwrite(&infom,sizeof(inf
20、om),1,fp2); /*分配一段内存空间&infom是首地址*/ fclose(fp1); fclose(fp2); if(flag=1) printf(Delete success!n); remove(c:123.dat); /*删除文件123*/ rename(c:456.dat,c:123.dat); /*对文件456重命名*/ else printf(Can not find this record!n); printf(Delete any more?(Y/N): bb); f=getchar(); getchar();while(f=Y|f=y);void list() /*
21、选择功效函数*/ int x;while(1)system(cls);printf(tt /*$ .n);/*软件界面*/printf(tt ./ 感谢使用小刚药品信息管理系统 n);printf(tt / . 工作人员 n);printf(tt .田田 | 姓名:王宏刚 n);printf(tt & | 学号: n);printf(tt 辽宁工业大学软件学院 | n);printf(tt,你说过会同我一起使用!,n);printf(tt, n);printf(tt , , , ,n);printf(tt111111111111111111111111111111111111111111111
22、111111n);printf(tt111111111111111111111111111111111111111111111111111n);printf(tt111111111111111111111111111111111111111111111111111nn);printf(tt 请选择功效: n);printf(tt* e1ome. *n); printf(tt*1.输 入 药品 信 息*n);printf(tt* *n);printf(tt* *n);printf(tt* *n);printf(tt*2.显 示 药品 信 息*n);printf(tt* *n);printf(tt
23、* () *n);printf(tt* *n);printf(tt*3.查 找 药品 信 息*n);printf(tt* *n);printf(tt* *n);printf(tt* () *n);printf(tt*4.修 改 药品 信 息*n);printf(tt* *n);printf(tt* *n);printf(tt* *n);printf(tt*5.删 除 药品 信 息*n);printf(tt* *n);printf(tt* *n);printf(tt* *n);printf(tt*0.退 出 管理 程 序*n);printf(tt* *n);printf(tt1111111111
24、11111111111111111111111111111111111111111n);printf(tt111111111111111111111111111111111111111111111111111n);printf(请 选 择 功 能:);scanf(%d,&x);if(x=0&x=5) /*功效选择函数*/ switch(x) case 1:input(); break; case 2:display(); break; case 3:search(); break; case 4:amend(); break; case 5:delete_slf(); break; case
25、0:exit(0); printf(nnsuccess. nPress any key to continue.n);getch();elseprintf(nnfail.choose againnn);void main() /*主函数*/printf(nnnnnnnnnn);list(); 2.3.2运行结果程序调试正确无误后,进入使用后,出现界面则为正确展现形式,在界面上输入需要功效模块代码,将显示所需界面,以下系列图所表示1. 系统首页图:图2.32. 程序输入时界面图以下图图2.43. 药品信息显示图:图2.6第3章 总结经过此次C+课程设计,收获还是很多,从刚刚拿到课程设计题目后,我
26、就先分析这个程序部分基础功效,从这些基础功效出发来定下一个程序大致框架结构,这里面关键包含程序中所设计类,类和类之间继承关系和部分关键函数设计思想。比如:删除统计函数、增加统计函数等等。从一开始我就从图书馆借阅了不少其它相关c+资料,这些全部是很宝贵参看资料,能够说给我最终顺利完成程序编写打下了很扎实基础这次课程设计,是自己独立完成了一个相对比较大程序,里面用到面向对象知识也是比较多,经过一番实践,很好总结、强化了之前学习过知识关键点,而且也发觉了自己还没好好掌握知识点,对于没掌握,我查阅了参考书籍立即补上。感觉代码写到也是以后,状态越好,我感觉是因为自己对于部分基础知识比很好掌握了。有些问题
27、即使没碰到过,不过经过查阅资料,只要了解了它们使用方法,自己就能够很快模拟下来,不是照抄。这一点我认为在以后程序设计中也是蛮关键,因为我发觉要写出好程序,首先应该去学习人家程序,看懂她们程序而且转化为自己。其次才有可能去创新。参考文件1.郑莉、董渊 编着 C+语言程序设计 北京:清华大学出版社2.黄迪明 主编 C+语言程序设计基础 北京:电子工业出版社3.钱能 主编 C+程序设计教程 北京:清华大学出版社4.钱能 C+程序设计教程 清华大学出版社,1999年5.吴访升 编着 C+程序设计 北京: 机械工业出版社6.Decoder 主编 C/C+程序设计 北京:中国铁道出版社7.谭浩强 C语言程序设计(第二版)清华大学出版社,8.吴文虎 程序设计基础 清华大学出版社,9.钱启平 C语言程序设计基础教导教程 铁道出版社,10.徐孝凯 编着 C+语言程序设计 北京:清华大学出版社
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100