您好,欢迎访问三七文档
武汉理工大学《基础强化训练》课程设计0学号:课程设计题目仓库出库管理的设计与实现学院计算机科学与技术专业班级姓名指导教师巩晶201年月日武汉理工大学《基础强化训练》课程设计1目录1.系统描述……………………………………………………31.1设计题目……………………………………………………31.2设计目的……………………………………………………31.3问题说明………………………………………………………31.4开发环境………………………………………………………31.5系统分析………………………………………………………31.6系统设计流程图………………………………………………42.系统设计……………………………………………………52.1数据文件设计………………………………………………………52.2输入输出的设计……………………………………………………52.3用户界面设计……………………………………………………102.4处理过程设计……………………………………………………123.系统测试………………………………………………123.1测试用例描述………………………………………………123.2测试方法描述……………………………………………133.3测试结果…………………………………………………134.总结……………………………………………………174.1特点与不足………………………………………………174.2收获与体会…………………………………………………185.参考文献………………………………………………18附表………………………………………………………18评分表………………………………………………………27武汉理工大学《基础强化训练》课程设计2计算机基础强化训练任务书学生姓名:专业班级:指导教师:工作单位:题目:仓库出库管理的设计与实现初始条件:理论:学完计算机基础知识,掌握C++语言编程基础和VC开发平台的使用。实践:计算机科学系实验中心提供计算机及软件开发环境。要求完成的主要任务:(1)系统需求分析,得到系统的数据需求和功能需求,分析结果用表格记录。(2)系统设计,包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面。至少实现数据记录的增加、修改、删除、查询(查询应能按不同数据项进行)。(2)编制好程序后,设计若干测试用例,上机测试所设计的程序。(4)设计报告按格式要求书写。设计报告正文的内容应包括:1)系统描述包括问题说明、数据需求和功能需求。2)系统设计包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。3)系统测试包括测试用例的描述、测试方法和测试结果。4)设计的特点、不足、收获和体会。时间安排:1、第20周(7月4日至7月8日)完成。2、7月8日8:00到计算机学院实验中心(三楼)检查程序、交课程设计报告、源程序(CD盘)。指导教师签名:2011年月日系主任(或责任教师)签名:2011年月日武汉理工大学《基础强化训练》课程设计31系统描述1.1设计题目仓库出库管理的设计与实现1.2设计目的(1)通过设计,强化计算机专业基础知识,如C++语言、数据结构、离散数学等,对这些知识加以运用。(2)掌握编写程序的思想方法、技巧,为以后的专业学习打下良好的基础。(3)培养动手能力,理论联系实际的能力,在实践中掌握理论,深化对计算机科学与技术的认识。1.3.问题说明随着企事业的发展,以及人们需求的增多,仓库管理已被广泛的应用。而仓库管理系统软件更是大型企业不可缺少的,它使管理变的更加容易,使管理员轻松的掌握仓库物品信息,调整仓库中物品的进出,了解仓库的库存大小,以及对物品进行查找等。本此训练的系统为仓库出库管理系统,针对的是物品的出库,可以实现针对出库的相应的功能。系统使用C++语言开发,利用面向对象的思想,内存数据用链表组织,数据的存储为文本存储。至少实现数据记录的增加、修改、删除、查询(查询应能按不同数据项进行)。1.4开发环境VisualC++6.0集成开发环境,主要用C++语言,面向对象的思想方法。1.5系统分析(1)数据需求仓库的属性有:货物编号、货物名称、货物数量等。数据需求分析结果如下表:数据名称数据描述数据类型武汉理工大学《基础强化训练》课程设计4(2)功能需求本程序要求实现仓库管理中的物品的入库初始化,物品的出库,物品的列表显示,物品相关信息的查找和退出程序的功能。当输入有误时,给以相应的提示信息。1.6系统设计流程图仓库信息number货物的编号intname[10]入库货物的名称,如“computer”charquantity相对货物的数量,如20int函数名称函数功能voidcreate(dlnode*L)创建链表头节点voidsearch(dlnode*L)查找主要菜单voidsearchnum(dlnode*L)按编号查找函数voidsearchname(dlnode*L)按名称查找函数voidcurrent(dlnode*L)货物出库函数voidprint(dlnode*L)输出函数voidinput(dlnode*L)定义入库函数voidoutput(dlnode*L)定义出库函数voidoutnum(dlnode*L)按编号出库函数voidoutname(dlnode*L)按名称出库函数voiddisplay(dlnode*L)显示货物清单voidmain()主函数,含有操作界面仓库出库管理系统武汉理工大学《基础强化训练》课程设计52系统设计2.1数据文件设计该程序采用内部数据结构如下:typedefstructdnode/*定义双向链表结构体*/{intnumber;/*货物编号*/charname[max];/*货物名称*/intcounter;/*货物数量*/structdnode*prior,*next;/*定义两指针,分别指向其前驱和后继*/}dlnode;voidcreate(dlnode*L);//创建链表头结点voidinput(dlnode*L);//定义入库函数voidoutput(dlnode*L);//定义出库函数voidoutnum(dlnode*L);//按编号出库函数货物入库货物查询显示列表货物出库退出系统没有该货物输出所选货物武汉理工大学《基础强化训练》-5voidoutname(dlnode*L);//按名称出库函数voidcurrent(dlnode*L);//货物出库函数voidsearch(dlnode*L);//查找主菜单voidprint(dlnode*L);//输出函数voidsearchnum(dlnode*L);//按编号查找函数voidsearchname(dlnode*L);//按名称查找函数voiddisplay(dlnode*L);//显示货物清单2.2输入输出的设计(1)输入输入,即时入库的实现voidinput(dlnode*L)//定义入库函数{dlnode*in,*head;head=in=(dlnode*)malloc(sizeof(dlnode));//分配空间head=L;printf(\n请输入货物数据:\n);printf(编号:);scanf(%d,&in-number);printf(名称:);scanf(%s,&in-name);printf(数量:);scanf(%d,&in-counter);if(L-next==NULL)//如果只有头节点,{//把刚输入的in节点L-next=in;//跟在头节点后面L-prior=in;//in-next=L;//武汉理工大学《基础强化训练》-6in-prior=L;//isempty++;//isempty加1}else{//如果当前L的下一个节点不是头节点while((L=L-next)!=head){//如果输入的数大于L-number,则插到L的前面if(L-numberin-number){in-next=L;in-prior=L-prior;L-prior-next=in;L-prior=in;isempty++;//isempty加1return;}}//输入的编号比其它编号都小,则插到最后个节点,并首尾相连head-prior-next=in;in-prior=head-prior;head-prior=in;in-next=head;isempty++;//isempty加1}武汉理工大学《基础强化训练》-7}(2)输出即程序中的出库函数,实现了对信息进行分类输出及删除操作,其主要设计代码:1)选择出库函数类型:voidoutput(dlnode*L)//出库的函数{inty;dlnode*head=L;if(isempty==0)//检测是否有货物输入{printf(没有货物输入系统\n);getchar();getchar();return;}while(1){printf(=============\n);printf(1.按编号出库\n);printf(2.按名称出库\n);printf(0.返回上一层\n);printf(==============\n);printf(选择0--2:);scanf(%d,&y);switch(y){武汉理工大学《基础强化训练》-8case1:outnum(L);break;//调用按编号出库函数case2:outname(L);break;//调用按名称出库函数case0:return;default:printf(entererror!Pleaseinput0--2!);getchar();getchar();printf(\n\n);}}}2)按编号输出函数voidoutnum(dlnode*L)//按编号出库函数{intnum;dlnode*head=L;printf(请输入出库货物的编号:);scanf(%d,&num);while((L=L-next)!=head){//如果找到就删除节点if(L-number==num){L-prior-next=L-next;L-next-prior=L-prior;isempty--;//isempty减1武汉理工大学《基础强化训练》-9printf(编号为%d的货物成功出库,num);getchar();getchar();return;}}printf(没有此编号的货物,请查看是否还有货物。\n\n);getchar();getchar();}3)按名称输出函数:voidoutname(dlnode*L)//按名称出库函数{charna[32];dlnode*head=L;printf(请输入出库货物的名称:);scanf(%s,&na);while((L=L-next)!=head){//如果找到就删除节点if(strcmp(L-name,na)==0){L-prior-next=L-next;L-next-prior=L-prior;isempty--;//isempty减1printf(名称为%s的货物成功出库,na);getchar();getchar();武汉理工大学《基础强化训练》-10return;}}printf(没有此名称的货物,请查看是否还有货物。\n\n);getchar();getchar();}2.3用户界面设计voidcreate(dlnode*L)//创建链表头节点{inti;printf(*******欢迎使用仓库出库管理的设计与实现*******\n);isempty=0;///////初始化头节点的值////////L-next=NULL;L-prior=NULL;L-number=L-counter=0;strcpy(L-name,);printf(货物库存初始化\n);printf(
本文标题:仓库出库管理任务书
链接地址:https://www.777doc.com/doc-1246180 .html