《数据结构》课程设计题目:药店药品信息管理系统系别:计算机信息与技术系专业:计算机科学与技术专业班级:B130601学号:B13060125学生姓名:杨晴雯指导教师:王楠×××2015年07月目录1需求分析.............................................................................................1...1.1问题描述.......................................................................................................1...1.2需求分析.......................................................................................................1...2概要设计.............................................................................................2...2.1主界面设计...................................................................................................2...2.2存储结构设计...............................................................................................2...2.3系统功能设计...............................................................................................3...3模块设计...........................................................................................4...3.1系统子程序及功能设计................................................................................4..3.2系统功能图...................................................................................................4...4详细设计...........................................................................................5...4.1数据类型定义...............................................................................................5...4.2系统主要子程序详细设计............................................................................5..5测试分析...........................................................................................9...6源程序清单.....................................................................................1..2.7工作总结.........................................................................................2..0.8参考文献.........................................................................................2..1.1需求分析1.1问题描述随着我国医疗事业的发展和社会不同人群的需求,药店的药品层出不穷。这对于消费者来说固然是好事,可是对于药店管理者来说,药品种类越多,越不容易记录和查找,还容易出错。所以以前的记录在账本上的方式已经落后了,药店需要一套完备的药店药品信息管理系统,方便药店管理者管理药店,以贴近时代需求,走向现代化管理道路。1.2需求分析1.建立药品信息表;2.插入新药品信息;3.查询新药品信息记录;4.药品销售;5.显示库存药品信息;6.退出管理系统12概要设计2.1主界面设计当输入相应的操作字符(比如:0-5),通过在主函数中选择并调用对应的子函数程序以及其他函数(比如:菜单函数)中的辅助调用,实现并完成各自的功能操作(比如:添加、查找、删除、显示等)。系统主界面如下:图2.12.2存储结构设计依据给定的数据格式,药品信息由四个字段来组成,即药品编号、药品名称、药品数量、药品价格。如:药品编号|药品名称|药品数量|药品价格|012感康3612通过C语言把学生的信息用单链表形式连接,源程序要有适当的注释,使程序易于阅读,进行储存。同时进行各种修改,完成信息管理等功能。22.3系统功能设计依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的定位、插入、建表、显示、删除等功能模块。(1)定位函数功能:具体了解要插入函数的位置。(2)插入函数功能:找到要插入函数的位置,进行函数插入。(3)显示函数功能:按照指定关键字,对相应商品信息进行查找显示。(4)删除函数功能:查找到要删除商品的相应信息,并将其从表中永久的删除。(5)主函数功能:调用以上子函数,并用开关语句进行选择性的调用。33模块设计3.1系统子程序及功能设计LinkListprior(LinkListL,LinkListp)定位函数voidListInsert_L(LinkListL,LinkListp)插入函数LinkListCreateList_L()建表voidvoidshowlist(LinkListL)显示函数voiddeleList(LinkListL,inti)删除(按序号)voiddelName(LinkListL,charn[])删除(按名字)intsearchnum(LinkListL,intn)查询(按编号)intsearchName(LinkListL,charn[])查询(按名字)3.2系统功能图药店药品信息管理系统建插查药显退立入询品示出药新新销库管品药药售存理信品品药系息信信品统表息息信记息录图3.144详细设计4.1数据类型定义typedefstructnode{intnum;//药品编号charname[20];//商药品名称intamount;//药品数量intprice;//药品价格structnode*next;}Node,*LinkList;4.2系统主要子程序详细设计1.定位函数LinkListprior(LinkListL,LinkListp){{while(q-next!=p)q=q-next;return(q);}}2.插入函数voidListInsert_L(LinkListL,LinkListp){while(s!=NULL&&p-num=s-num){s=prior(L,s);p-next=NULL;s-next=p;}{s=prior(L,s);p-next=s-next;s-next=p;}}3.创建函数LinkListCreateList_L(){while(num=0)5{p=(LinkList)malloc(sizeof(node));p-num=num;p-amount=amount;strcpy(p-name,name);p-price=price;ListInsert_L(L,p);}}4.显示函数voidshowlist(LinkListL){if(L==NULL||L-next==NULL)printf(仓库中没有药品\n);elsewhile(p-next!=NULL)//不为空的情况下输出表内信息{p=p-next;//不断寻找下一条信息n++;}}5.删除函数(按序号)voiddeleList(LinkListL,inti){while(p-next&&ji-1){p=p-next;j++;}free(q);}6.删除函数(按名称){if(L-next==NULL)else{while(p!=NULL){6if(!strcmp(p-name,n)){p=p-next;deleList(L,sale);}else{p=p-next;sale++;}}}7.查找函数(按名字)intsearchName(LinkListL,charn[]){if(L-next==NULL||L==NULL)printf(仓库中没有该药品\n);else{while(p!=NULL){if(!strcmp(p-name,n))p=p-next;sale++;}}returnx;}8.查找函数(按编号)intsearchnum(LinkListL,intn){if(L-next==NULL)printf(该链表中没有元素\n);else{while(p!=NULL){if(p-num=n)if(p-num==n)p=p-next;sale++;}7}returnx;}2.主函数:主要由switch语句组成,便于函数调用。switch(choose){case1:CreateList_L;break;/*增加记录*/case2:ListInsert_L(L,p);break;/*插入记录*/case3:searchnum(L,name);break;/*查询记录*/case4:deleList(L,n);break;/*删除记录*/case5:showlist(L);break;/*显示记录*/case0:exit();break;/*退出系统*/}3.主页面函数voidmain(){LinkListL=NULL;system(cls);system(color4f);printf(\n******^e^欢迎使用药店药品信息管理系统**********\n);printf(\n*1建立药品信息表*\n);printf(\n*2插入新药品信息*\n);printf(\n*3查询药品信息记录*\n);printf(\n*4药品销售*\n);printf(\n*5显示库存药品信息*\n);printf(\n*0退出管理系统*\n);printf(\n******^e^欢迎使用药店药品信息管理系统**********\n);printf(\n请选择操作:\n);}85测试分析各功能的运行结果:1)建立信息表:在主菜单中选择1,进入建立信息表图5.12)插入信息:选择2,进行插入信息图5.293)查询药品信息,选择3,进行查询信息图5.34)药品销售,选择4,进行药品销售图5.4105)显示库存药品信息,选择5,进行显示图5.56)退出系统:选择0,退出系统。116源程序清单#includestdio.h#includestdlib.h#includestring.hintsale;typedefstructnode{intnum;charname[20];intamount;intprice;structnode*next;}node,*LinkLis