仓库管理系统程序设计训练报告6302.docx

上传人:you****now 文档编号:62004678 上传时间:2022-11-22 格式:DOCX 页数:55 大小:471.29KB
返回 下载 相关 举报
仓库管理系统程序设计训练报告6302.docx_第1页
第1页 / 共55页
仓库管理系统程序设计训练报告6302.docx_第2页
第2页 / 共55页
点击查看更多>>
资源描述

《仓库管理系统程序设计训练报告6302.docx》由会员分享,可在线阅读,更多相关《仓库管理系统程序设计训练报告6302.docx(55页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、HUNAAN UUNIVVERSSITYY程序设计计训练报 告学生姓名名xxxxx xxxxxx学生学号号 xxx2 xxxx 专业班级级 xxxxxx班指导老师师 xxxxxx院长 xxxx20122 年6月12 日日目录1软件开开发平台22软件功功能说明明22.1功功能分析析说明图图32.2各各项功能能说明333软件设设计详细细内容553.1采采用的主主要数据据结构类类型53.2流流程图64软件测测试114.1软软件测试试用例1114.2软软件测试试报告2255附录2265.1软软件使用用说明2265.2源源码265.3参参考文献献376 心得.3381. 软件开发发平台配置环境境 Win

2、ddowss 7(32位位) 系系统 运行环境境 Winddowss 7(32位位) 系系统开发工具具 Devv C+ 程序语言言 C 语语言2. 软件功能能说明仓库产品品管理系系统要求记录录产品的的名称、制制造商、产产地、原原有产量量、现有有量、编编号、产产品位置置。亓学忠: 1、创建建产品信信息2、输出出产品信信息3、修改改产品信信息4、插入入产品信信息5、删除除产品信信息6、查询询某产品品信息7、按产产品名称称排序8、按产产品编号号排序9、保存存产品信信息到文文件10、从从文件文文件中读读取产品品信息朱宏伟: 1、目目录 22、主函函数仓库产品管理系统输入产品信息输出产品信息修改产品信息

3、产品信息排序插入产品信息删除产品信息查询产品信息退出系统按产品名称排序按产品编号排序2.1功功能分析析说明图图2.2各各项功能能说明要求对分分别上面面的每个个功能模模块进行行详细的的文字说说明输入模块块 ccreaateLListt()在主函数数里面选选择1 进入输输入模块块, 首首先建立立一个名名为prroduuct 的文本本文档,用用scannf函数数依次从从键盘输输入产品品名称 制造造商 产地 原产产量 现有量量 编编号 存放位位置。 然后再把把这些信信息用pprinntf函函数写入入文本文文档,如如果输入入错误要要重新输输入。最最后关闭闭文件。 打印模块块 pprinntLiist()

4、 在主函数数里面选选择2 进入打打印模块块, 打开名名为prroduuct的的文本文文档,然然后依次次把文本里的的产品名称称 制制造商 产地地 原原有量 现有有量 编号 存放放位置,用用priintff函数文文本读出来来,用pprinntf 函数显显示出来来,再关关闭文件件。查找模块块 ffindd()在主函数数里面选选择8 进入入查找模模块,再再打开名名为prroduuct的的文本文文档,然然后输入入要查找的产产品的名名称,通通过sttrcmmp函数数找到该该产品的的位置,再再通过pprinntf函函数输出出该产品品息。如果库中中没有此此种产品品,会提提示输入入错误,重重新输入入产品名名称。

5、然然后关闭闭文件退退出查找找模块。修改模块块 cchanngepprodductt()在主函数数里面选选择7进入输输入模块块,然后后打开名名为prroteect的的文本文文档,输输入要修修改的产产品的名名称,通通过sttrcmmp函数数找到该该产品的的位置,找找到后直直接输入入新的信信息,如如果产品品库中没没有此种种产品的的名称,会会提示重重新输入入产品名名称。然然后关闭闭文件。删除模块块 ddelpprodductt()在主函数数里面选选择5 进入删删除模块块,然后后打开名名为prroduuct的的文本文文档,然然后要删删除的产产品的名名称,通通过sttrcmmp函数数找到该该产品位位置,找

6、找到后又又分三种种情况: 1、如如果该产产品在链链首,那那么直接接把链首首位置后后移到下下一链节节,然后后清除此此链节所所占内存存; 2、如如果产品品信息在在链尾,那那么直接接上一链链节指向向NULLL,然然后清除除此链节节所占空空间; 3、如如果产品品信息在在链中,那那么直接接把上一一链节的的指针跳跳过此链链节指向向下一连连接,然然后清除除此链节节所占空空间。 如果找找不到此此种产品品,会提提示重新新输入产产品名称称,正确确输入后后按上面面的三种种情况运运行此模模块。 删除后后退出删删除模块块。插入模块块 iinseertpprodductt() 在主函函数里选选择6进进入到插插入模块块,打

7、开开名为pprodductt的文本本文档,然然后直接接输要插入的产产品的名名称 制造商商 产产地 原产量量 现现有量 编号号 存存放位置置,然后后此模块块会直接接把该信息息插入到到信息首首位,插插入后退退出此模模块。排序模块块 nammesoortLListt()或或者nuumbeersssorttLisst()在主函数数里选择择3进入入按产品品名称排排序模块块,选择择4进入入按产品品编号排排序模块块,打开名为pprodductt的文本本文档,然然后模块块会通过过链节一一个一个个对比彼彼此的名名称大小小(用sstrccmp函数)或或者编号号大小,然然后小者者在前,大大者在后后重新排排序,排排序

8、后退退出此模模块。退出系统统模块通过输入入0选择择直接退退出系统统3软件设设计详细细内容3.1 采用的的主要数数据结构构类型仓库管理理系统:#inncluude #inccludde #inccludde 链表表3.2 流程图图1、maain()函数数流程图图:namesortList(h)numberssortList(h)breakbreakinput select select=0? select=1? Select=2?createList()breakbreakbreakbreakreturnmainn()YNNYY Select=3?NN Select=4?N Select=5?Y

9、YprintList(h)Ndelproduct(h)NNN Select=7? Select=6?YYYinsertproduct(h) Select=10?N Select=9? Select=8?breakbreakYYchangeproduct(h) find(h) load(h)breakbreakY save(h)2、crreatteLiist()函数数流程图图:printf(.); input ni=1?i=3?i=2?printf(.);printf(.);.i=n?NYNYYNY printf(.);return h3、prrinttLisst()函数数流程图图: retur

10、nnewNode-next!=NULL?N printf(.);Y newNode=newNode-nextinput nameYcur=NULL?printf(.);YNstrcmp(cur-name,name.)?curpre=curcur=cur-next4、fiind()函数数流程图图:N5、chhanggeprroduuct()函数数流程图图:input nameYcur=NULL?printf(.);YNstrcmp(cur-name,name.)?curpre=curcur=cur-nextNinput nameNNstrcmp(cur- name,name)?curpre=cu

11、rcur=cur-nextNNcur!=NULL?cur=h?h=h-nextfree(cur)cur-next=NULL?curpre-next=NULLfree(cur)curpre-next=cur-nextfree(cur)6、deelprroduuct()函数数流程图图:YreturnYYY4. 软件测试试4.1软软件测试试用例1、 创建产品品信息2、 输出数据据3、 按名称排排序4、 按产品编编号排序序5、 删除产品品信息6、 插入产品品信息7、修改改产品信信息8、 查询产品品信息9、 保存10、 打开文件件11、 退出软件件4.2软软件测试试报告将4.11 测试试过程中中能完成成

12、的功能能和不能能完成的的功能以以及不能能完全完完成的功功能进行行列表分分析,指指出测试试结果和和出错原原因,例例如:标号项目预期结果果实际结果果出错原因因出错次数数01主函数菜单美观的菜菜单得到美观观的菜单单无无02输入产品品信息正确输入入数据完成无无03输出产品品信息正确输出出数据完成无无04按名称排排序正确排序序完成无无05按产品编编号排序序正确排序序完成无无06删除产品品信息正确删除除数据完成无无07修改产品品信息正确修改改完成无无08查询产品品信息正确查询询到信息息完成无无09退出系统统正确退出出系统完成无无5.附录录5.1软软件使用用说明运行条件件:本软软件可以以在Deev CC+

13、和 Vissuall C+ 里里运行,在在Turrbo C 下下不能运运行,其其他编程程软件没没有测试试。进入菜单单, 选选择你要要执行模模块,在在初次使使用时,应应收先选选择数字字1 输输入航班班信息后后才能使使用其他他模块,5.2源源码/*仓库库产品管管理系统统-亓学学忠*/#inccludde /*包含常常用库函函数*/#inccludde /*包含sstrccmp、sstrccpy字字符串比比较拷贝贝函数*/#inccludde /*包含eexitt强制结结束函数数*/#inccluddestruuct prooducct /*定义相相关链表表*/charr naame12; /*产品

14、名名称*/charr maanuffacttureer330; /*制造商商*/charr orrigiin330; /*产地*/int oriiginnqunn; /*产品原原有数量量*/int nowwqunn; /*现有产产品数量量*/int nummberrs; /*产品编编号*/charr loocattionn300; /*存放位位置*/struuct prooducct *nexxt; /*指向下下一个同同类型结结构*/;voidd W()prinntf(nnnn);prinntf(ttnn);prinntf(ttn);prinntf(ttn);prinntf(ttn);prin

15、ntf(ttn);prinntf(ttn);prinntf(tt 欢欢迎使用用产品库库存管理理系统 n);prinntf(ttn);prinntf(tt 按按任意键键继续 n);prinntf(ttn);prinntf(ttn);prinntf(ttn);prinntf(ttn);prinntf(ttn);prinntf(ttnn);getcch();struuct prooducct *creeateeLisst() /*定义义新建产产品信息息函数*/struuct prooducct *heaad=NNULLL,*ccur=NULLL,*currnexxt=NNULLL; /*定义头头节点

16、、当当前节点点、下一一个节点点*/int n,ii; /*定义节节点数、循循环变量量*/prinntf(tt请输入入要创建建的节点点数:); scannf(%d,&nn);for(i=00;inaame,currnexxt-mannufaactuurerr,cuurneext-orrigiin,&(cuurneext-orrigiinquun),&(ccurnnextt-nnowqqun),&(currnexxt-nummberrs),currnexxt-loccatiion);if(ccurnnextt-oorigginqqunnowwqunnorrigiinquunnnowqqun) /*

17、判断输输入数据据是否正正确*/ prrinttf(nt输入数数据错误误,请重重新输入入!nnn);gotoo A;curnnextt-nnextt=NUULL;headd=cuurneext; /*将将cueenexxt赋给给头节点点*/cur=currnexxt; /*将ccuennextt赋给当当前节点点curr*/elseecurnnextt=(sstruuct prooducct*)malllocc(siizeoof(sstruuct prooducct); /*开开辟下一一个节点点需要的的空间*/B: pprinntf(tt请输入入第%dd种产品品的:名名称 制造商商 产产地 原产量

18、量 现现有量 编号号 存存放位置置n,i+1);prinntf(tt);scannf(%s%s%ss%d%d%dd%s,cuurneext-naame,currnexxt-mannufaactuurerr,cuurneext-orrigiin,&(cuurneext-orrigiinquun),&(ccurnnextt-nnowqqun),&(currnexxt-nummberrs),currnexxt-loccatiion);if(ccurnnextt-oorigginqqunnowwqunnorrigiinquunnnowqqun) /*判断输输入数据据是否正正确*/ prrinttf(n

19、t输入数数据错误误,请重重新输入入!nnn);gotoo B;curnnextt-nnextt=NUULL;cur-neext=currnexxt; /*将将当前节节点与下下个节点点连接起起来*/cur=currnexxt; /*当当前节点点后移*/systtem(clls); /*DDOS清清屏*/prinntf(nnt恭喜你你输入已已完成。nnn);retuurn heaad; /*结结束输入入信息并并返回主主菜单*/;voidd prrinttLisst(sstruuct prooducct *h) /*定义输输出产品品信息函函数*/struuct prooducct *newwNodd

20、e; newNNodee=h; /*获获取链表表头指针针*/ systtem(clls);prinntf(nnt名名称tt制造商商t产产地tt原产量量t现现有量t编号号t存存放位置置);whille(nnewNNodee-nnextt!=NNULLL)prinntf(nnt%stt%st%sst%dtt%dt%ddt%s,newwNodde-namme,nnewNNodee-mmanuufaccturrer,newwNodde-oriiginn,newNNodee-oorigginqqun,newwNodde-nowwqunn,neewNoode-nuumbeers,newwNodde-loc

21、catiion);newNNodee=neewNoode-neext;prinntf(nnt%stt%st%sst%dtt%dt%ddt%snn,nnewNNodee-nnamee,neewNoode-maanuffacttureer,nnewNNodee-ooriggin,newNNodee-oorigginqqun,newwNodde-nowwqunn,neewNoode-nuumbeers,newwNodde-loccatiion);prinntf(nn);struuct prooducct *dellprooducct(sstruuct prooducct *h) /*定定义删除除某位

22、产产品的信信息函数数,名称称由用户户输入*/struuct prooducct *curr=NUULL,*cuurprre=NNULLL;charr naame12;G:prrinttf(t请输入入要删除除的产品品名称:);scannf(%s,naame);cur=h;whille(ccur!=NUULL&sttrcmmp(ccur-naame,namme) /*查找产产品位置置*/curppre=curr; /*如如果不是是所需节节点,ccurppre指指向后移移*/cur=curr-nnextt; /*ccur也也后移*/if(ccur=NUULL) /*如如果没有有找到*/prinntf

23、(nnt没有找找到该产产品,请请重新输输入!nnn); gooto G;if(!strrcmpp(cuur-namme,nnamee) /*如果找找到该产产品*/if(ccur=h) /*如果果该节点点在链首首*/h=h-neext; /*当前链链首后移移*/freee(cuur); /*释放链链首所占占内存*/ elseeif(ccur-neext=NUULL) /*如果该该节点在在链尾*/curppre-neext=NULLL; /*前前一个链链节指向向空*/freee(cuur); /*释释放链尾尾所占内内存*/elsee /*如果该该节点在在链中*/curppre-neext=curr

24、-nnextt; /*该该节点的的前一位位链节指指向该链链节后的的下一位位节点*/ freee(cuur); /*释释放该节节点所占占内存*/systtem(clls);prinntf(nnt已成功功删除该该产品信信息!nnn);retuurn h; /*结结束该函函数且返返回新链链表后返返回主菜菜单*/struuct prooducct *chaangeeprooducct(sstruuct prooducct *h) /*定义修修改产品品信息函函数*/struuct prooducct *curr=NUULL,*cuurprre=NNULLL;charr naame12;D:prinntf

25、(tt请输入入要修改改产品名名称:);scannf(%s,naame);cur=h;whille(ccur!=NUULL&sttrcmmp(ccur-naame,namme) /*查查找产品品位置*/curppre=curr;cur=curr-nnextt;if(ccur=NUULL) /*如如果没有有找到*/prinntf(nnt没有找找到该产产品,请请重新输输入!nnn);gotoo D; if(!strrcmpp(cuur-namme,nnamee) /*如如果找到到该产品品*/E: priintff(ntt名称 制造造商 产地 原产产量 现有量量 编编号 存放位位置nn); /*输入入

26、该产品品的新信信息*/prinntf(tt);scannf(%s%s%ss%d%d%dd%s,cuur-namme,ccur-maanuffacttureer,ccur-orrigiin,&(cuur-oriiginnqunn),&(cuur-nowwqunn),&(cuur-nummberrs),curr-llocaatioon);if(ccur-orrigiinquunnoowquunorrigiinquunnoowquun) /*判判断输入入数据是是否正确确*/ priintff(ntt输入数数据错误误,请重重新输入入!nnn);gotoo E; sysstemm(ccls);prinn

27、tf(nnnt已成功功修改信信息!nnn);retuurn h;struuct prooducct *insserttprooducct(sstruuct prooducct *h) /*插入入新产品品信息到到链首*/struuct prooducct *newwprooducct=NNULLL;newpprodductt=(sstruuct prooducct*)malllocc(siizeoof(sstruuct prooducct);C:prinntf(tt请输入入新产品品的信息息:名称称 制制造商 产地地 原原有量 现有有量 编号 存放放位置n );prinntf(tt);scannf

28、(%s %s %s %d %d %d %s,neewprroduuct-naame,newwprooducct-mannufaactuurerr,neewprroduuct-orrigiin,&(neewprroduuct-orrigiinquun),&(nnewpprodductt-nnowqqun),&(newwprooducct-nummberrs),newwprooducct-loccatiion);if(nnewpprodductt-oorigginqqunnowwqunnorrigiinquunnnowqqun) /*判断输输入数据据是否正正确*/prinntf(nnt输入数数据错

29、误误,请重重新输入入!nnn);gotoo C;newpprodductt-nnextt=h;h=neewprroduuct;systtem(clls); /*DOOS清屏屏*/prinntf(nnnt已成功功插入新新产品信信息!nnn);retuurn h;struuct prooducct *nammesoortLListt(sttrucct pprodductt *hh) /*按名称称对产品品进行排排序*/struuct prooducct *newwH=NNULLL,*nnewTT=NUULL,*cuur,*currPree,*mmin,*miinPrre;if(hh=NNULLL) /*空链链*/retuurn h;whille(hh!=NNULLL)minPPre=currPree=miin=ccur=h;whille(ccur!=NUULL) /*检检索名称称最小的的点*/if(sstrccmp(curr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理制度

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com