商品库存管理解决方法.系统需求分析.doc

上传人:一*** 文档编号:829220 上传时间:2019-07-24 格式:DOC 页数:42 大小:309KB
返回 下载 相关 举报
商品库存管理解决方法.系统需求分析.doc_第1页
第1页 / 共42页
商品库存管理解决方法.系统需求分析.doc_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《商品库存管理解决方法.系统需求分析.doc》由会员分享,可在线阅读,更多相关《商品库存管理解决方法.系统需求分析.doc(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、商商 品品 库库 存存 管管 理理程序设计报告程序设计报告课程名称:C 语言课程设计程序设 计班 级: 电 气 1401 组 长: 王闯 小组成员:王闯 孟宁 夏涵 胡琛 谢俊良 韩梦成 代仁旺 指导老师: 伊芸芸 目录第 1 章 引言引言 (1)第 2 章 总体设计总体设计 (2)2.1 系统的需求分析 (2)2.2 系统的功能 (2)2.3 主要用到的函数 (6)第 3 章 详细设计详细设计 (7) 3.1 代码以及对应的备注(9)第 4 章 界面设计及代码界面设计及代码 (17)4.1 主界面 (17)4.2 录入商品信息 (18)4.3 查看商品信息 (20)4.4 删除商品信息 (2

2、2)4.5 修改商品信息 (24)4.6 查询单个商品信息(30)4.7 商品库存系统退出(32)4.8 其他字符输入管理(32)第 5 章 调试调试 (34)5.1 测试目的(34)5.2 功能测试(34)第 6 章 总结与展望总结与展望 (35)附录 (36)附录 A 小组成员及其分工情况(36)参考文献(37)第第 1 1 章章 引言引言商品经济是社会经济的重要组成部分,而作为商品经济最基本的商品,由于 其种类繁多,因此其商品管理本身就已经比较复杂,何况作为商品管理最重要的 库存管理的复杂性, 可想而知。因此一个完善的商品库存管理系统是一个企业 不可缺少的部分,它的内容对于企业的决策者和

3、管理者来说都至关重要,所以商 品库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以 来人们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许 多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更 新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其 强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重 要的作用。作为计算机应用的一部分,使用计算机对物资信息进行管理,具有手 工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、 保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理

4、的效率, 也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套 商品库存管理软件成为很有必要的事情。第第 2 章章 总体设计总体设计2.12.1 系统的需求分析系统的需求分析伴随着计算机的发展及网络技术的应用,我们正在快速地向信息化社会迈 进,信息自动化的作用变得越来越大。在仓库管理领域中,仓库管理的规模正在不断扩大,仓库管理的复杂度正 在急剧地增加,有关仓库管理的各种信息量也成倍地增长。面对庞大的信息量, 就需要有商品库存管理系统来提高库存管理工作的效率。通过这样的系统,可 以方便的查询、添加和修改商品及供货商的基本情况,掌握入库出库的各种情 况,实现信息的规范管理、科学统

5、计和快速查询,从而减少管理方面的工作量, 同时避免由于人为因素造成数据遗漏和误报等。 2.22.2 系统功能系统功能本系统主要模块为商品信息管理。 仓库管理模块通过此模块来管理商品信息,包括浏览、录入、查询、修改和删 除功能。2 2.2.1 录入功能录入功能是向系统中输入数据的一个功能。可以把商品的名称、编号以及 数据录入系统中。 流程图如图 2.1 所示图 2.1 入库流程图2.2.2 查询功能查询功能是对于库存中的产品的数据进行查询。 流程图如图 2.2 所示图 2.2 查询功能流程图首先输入一个商品代码 i,然后对 i 进行判断,如果 i 正确也就是存在, 那么 i,执行输出该商品各信息

6、的步骤。如果 i 不存在 i,那么执行没有该商品 这个步骤。最后进行循环该步骤查询多个商品.2.2.3 修改功能修改功能是应用于对商品信息的修改。出库后的时候对商品库存数目的管 理;还有对于一些错误信息的修改。 具体流程如图 2.3 所示图 2.3 修改功能流程图2.2.4 删除功能删除功能主要应用于把不需要的商品进行下架处理。 流程图如图 2.4 所示图 2.1 删除功能流程图刚开始定义两个变量,然后与商品的属性值进行比较,通过循环达到我们 所需的条件,再根据这些与录入的商品信息进行比较,商品信息中有我们要找 的商品最后进行删除,没有该商品信息的则退出。2.32.3 主要用到的函数主要用到的

7、函数1. int main(void);主函数 2.void add_goods(information im , int geshu);录入商品信息 3.check_goods(information im);查询并显示所有商品 4.menu(); 列出对商品所要执行的操作:录入、查询、删除、修改5.void del_goodsinfor(information im ,int goods_number);对商品进行删除操作6. void check_oneGoods(information im , int goods_number); 对商品按编号进行查询7. void menu1();

8、列出对商品信息修改操作:名称、编号、数目 8. void change_goodsinfor(information im ,int goods_number)对商品信息进行修改 第三章第三章 详细设计详细设计3.13.1 代码以及对应的备注代码以及对应的备注#include#define max 100/*给定结构体数组的最大值*/int size = 0;/*显示商品属性的信息*/typedef struct goodsInformationchar goods_name20;/*商品的名字*/ int goods_number;/*商品的编号*/ int goods_count;/*商品

9、的数目*/information;/* Function:void add_goods(information im, int geshu) * Description:存储商品的信息 * Called By:* int main(void) * Input:用户根据相应的提示,输入商品信息 * */void add_goods(information im, int geshu)int i;int count = size + geshu;/*目的是实现商品的多次输入*/ for(i = size; i count; i+)printf(“请录入商品的名称:n“); scanf(“%s“,i

10、mi.goods_name);printf(“请录入商品的编号:n“);scanf(“%d“,printf(“请录入商品的数目:n“); scanf(“%d“,size+;/*end of for*/ printf(“添加成功!nn“); /* Function:void check_goods(information im)* Description:查询所有的商品并显示出来 * Called By:* int main(void) * Output:显示所有的商品 * */void check_goods(information im)int i;/*目的是实现输入多个商品*/for(i

11、= 0; i size; i+)printf(“库存的商品有:“);printf(“商品的名称=%st 商品的编号=%dt 商品的数目=%dn“,imi.goods_name,imi.goods_number,imi.goods_count);/*end of for*/ /* Function:void menu()* Description:列出对商品所要执行的操作:录入、查询、删除、修改等。 * Called By:* int main(void) * Output:列出对商品所要执行的操作:录入、查询、删除、修改* */void menu()printf(“nttt 菜单栏nntt1.

12、录入tt2.查看nntt3.删除tt4.修改nntt5.查询tt 退出请按:-1nn“);/* Function:void del_goodsinfor(information im,int goods_number)* Description:删除对应编号的商品信息。 * Called By:* int main(void) * Output:输出提示信息 * */ void del_goodsinfor(information im,int goods_number)int i,j;/*找到给定的编号,并删除对应编号的信息*/for(i = 0; i size; i+)/*通过比较找到对应

13、编号,然后删除*/ if(imi.goods_number = goods_number)/*通过移动数组元素来删除信息*/ for(j = i; j size - 1; j+)imj = imj+1; /*end of for*/ size-;printf(“删除成功!n“);return ;/*end of if*/ /*end of for*/ printf(“没有该商品n“);/* Function:void check_oneGoods(information im, int goods_number)* Description:根据相应的编号,查询一个商品的信息并显示出来 * Ca

14、lled By:* int main(void) * Output:一个的商品的信息 * */void check_oneGoods(information im, int goods_number)int i;/*是实现一个商品的查询*/for(i = 0; i size; i+)if(imi.goods_number = goods_number)printf(“商品的名称=%st 商品的编号=%dt 商品的数目=%dn“,imi.goods_name,imi.goods_number,imi.goods_count);return ;/*end of if*/*end of for*/

15、printf(“没有该商品n“);/* Function:void menu1()* Description:列出对商品的属性所要执行的操作:名称、编号、数目等。 * Called By:* void change_goodsinfor(information im,int goods_number) * Output:列出对商品所要执行的操作:名称、编号、数目* */void menu1()printf(“nttt 选择修改项nntt1.名称tt2.编号nntt3.数目t4.修改所有信息nn“);/* Function:void change_goodsinfor(information i

16、m,int goods_number)* Description:根据相应的编号,修改一个商品的信息 * Calls: void menu1()* Called By:* int main(void) * Output:对商品的修改信息进行提示 * */ void change_goodsinfor(information im,int goods_number)int i, choose;/*找到对应的编号,然后根据对应编号的商品信息进行修改*/ for(i=0; isize; i+)/*通过比较找到修改的编号,进行修改*/ if(imi.goods_number = goods_numbe

17、r)menu1(); /*列出对商品所要执行的操作:名称、编号、数目*/ printf(“请选择要修改的信息项目:“);scanf(“%d“, /*根据用户选择进行相应的修改*/switch(choose)case 1:printf(“请录入修改的商品的名称:n“); scanf(“%s“,imi.goods_name);printf(“修改成功!n“);break;case 2:printf(“请录入修改的商品的编号:n“); scanf(“%d“,printf(“修改成功!n“);break;case 3:printf(“请录入修改的商品的数目:n“); scanf(“%d“,printf

18、(“修改成功!n“);break;case 4:printf(“请录入修改的商品的名称:n“); scanf(“%s“,imi.goods_name);printf(“请录入修改的商品的编号:n“); scanf(“%d“,printf(“请录入修改的商品的数目:n“); scanf(“%d“,printf(“修改成功!n“);break;default:printf(“输入错误!“); /*end of switch*/return;/*end of if*/*end of for*/printf(“没有该商品n“);/* Function:int main(void) Descriptio

19、n:主函数* Calls:* 1.void add_goods(information im, int geshu); * 2.check_goods(information im); * 3.menu(); * 4.void del_goodsinfor(information im,int goods_number);* 5. void check_oneGoods(information im, int goods_number); * 6. void change_goodsinfor(information im,int goods_number) * Input:用户根据需要,输入

20、要选择的功能的编号* Output:查询并显示所有的商品 * */int main(void) information goodsmax;int geshu;int value = 0; int goods_id;while(value != -1)/当用户不想对商品进行操作时,按“-1“结束操作 menu();/列出操作:录入、查询、删除、修改等 printf(“请选择所要执行的操作:n“);scanf(“%d“, switch(value)/根据 value 的值来执行相应的操作 case 1:printf(“请输入你要录入商品种类的个数:“); scanf(“%d“, add_goods

21、(goods, geshu);/商品的录入 break;case 2:check_goods(goods);/所有商品的查询 break;case 3:printf(“请输入要删除的商品的编号:“);scanf(“%d“, del_goodsinfor(goods,goods_id);/删除商品的信息 break;case 4:printf(“请输入要修改的商品的编号:“);scanf(“%d“,change_goodsinfor(goods,goods_id);/修改商品的信息 break;case 5:printf(“请输入要查询的商品的编号:“);scanf(“%d“,check_one

22、Goods(goods,goods_id);/商品信息的查询 break;case -1:printf(“退出!“);break;default:printf(“输入信息错误!“); /*end of switch*/*end of while*/ 第四章第四章 平面设计及代码平面设计及代码4.1 主界面进入后主界面后的界面如图 4.1 所示。图 4.1 主界面主界面所用到的代码:menu();/列出操作:录入、查询、删除、修改等 printf(“请选择所要执行的操作:n“);scanf(“%d“, switch(value)/根据 value 的值来执行相应的操作 case 1:printf

23、(“请输入你要录入商品种类的个数:“); scanf(“%d“, add_goods(goods, geshu);/商品的录入 break;case 2:check_goods(goods);/所有商品的查询 break;case 3:printf(“请输入要删除的商品的编号:“);scanf(“%d“, del_goodsinfor(goods,goods_id);/删除商品的信息 break;case 4:printf(“请输入要修改的商品的编号:“);scanf(“%d“,change_goodsinfor(goods,goods_id);/修改商品的信息 break;case 5:pr

24、intf(“请输入要查询的商品的编号:“);scanf(“%d“,check_oneGoods(goods,goods_id);/商品信息的查询 break;case -1:printf(“退出!“);break;default:printf(“输入信息错误!“); 4.2 录入商品信息录入商品信息时,首先提示录入商品的种类个数,选择过后,然后进行商品信息的名称、编号、数量的录入,最后提示添加成功。如图 4.2 所示。图 4.2 录入信息这个过程用到的代码:void add_goods(information im, int geshu)int i;int count = size + ges

25、hu;/*目的是实现商品的多次输入*/ for(i = size; i count; i+)printf(“请录入商品的名称:n“); scanf(“%s“,imi.goods_name);printf(“请录入商品的编号:n“);scanf(“%d“,printf(“请录入商品的数目:n“); scanf(“%d“,size+;/*end of for*/ printf(“添加成功!nn“); 4.3 查看商品信息当查看商品信息时,显示的是库存里的所有商品。当没有商品时则什么都不显示,直接继续下一步操作(如图 4.3.1 所示);有商品的时候 ,则全部商品都显示出来。如图 4.3.2 所示。

26、图 4.3.1 查看商品信息 1图 4.3.2 查看商品信息 2这个过程用到的代码:void check_goods(information im)int i;/*目的是实现输入多个商品*/for(i = 0; i size; i+)printf(“库存的商品有:“);printf(“商品的名称=%st 商品的编号=%dt 商品的数目=%dn“,imi.goods_name,imi.goods_number,imi.goods_count);/*end of for*/ 4.4 删除商品信息删除商品信息时,提示删除该商品的编号是什么。当删除的商品在库存里没 有时,提示没有该商品(如图 4.4.

27、1 所示);当删除的商品在库存里有的时候, 则显示删除成功。如图 4.4.2 所示。图 4.4.1 删除商品信息 1图 4.4.2 删除商品信息 2这个过程用到的代码:void del_goodsinfor(information im,int goods_number)int i,j;/*找到给定的编号,并删除对应编号的信息*/for(i = 0; i size; i+)/*通过比较找到对应编号,然后删除*/ if(imi.goods_number = goods_number)/*通过移动数组元素来删除信息*/ for(j = i; j size - 1; j+)imj = imj+1;

28、/*end of for*/ size-;printf(“删除成功!n“);return ;/*end of if*/ /*end of for*/ printf(“没有该商品n“); 4.5 修改商品信息修改商品信息时,输入一个商品的编号,当库存里没有该商品时,则提示没 有该商品(如图 4.5.1 所示);当库存里有该商品时,则提示修改商品的什么 内容。 修改内容分别为名称、编号、数目以及所有信息。如图 4.5.2 所示。图 4.5.1 修改商品信息 1图 4.5.2 修改商品信息 2 选择修改的信息项目后,提示输入对应的商品信息内容,输入后,提示修改成功。如图 4.5.3 所示。图 4.5

29、.3 修改商品信息 3这个过程用到的代码:void menu1()printf(“nttt 选择修改项nntt1.名称tt2.编号nntt3.数目t4.修改所有信息nn“);/* Function:void change_goodsinfor(information im,int goods_number)* Description:根据相应的编号,修改一个商品的信息 * Calls: void menu1()* Called By:* int main(void) * Output:对商品的修改信息进行提示 * */ void change_goodsinfor(information im

30、,int goods_number)int i, choose;/*找到对应的编号,然后根据对应编号的商品信息进行修改*/ for(i=0; isize; i+)/*通过比较找到修改的编号,进行修改*/ if(imi.goods_number = goods_number)menu1(); /*列出对商品所要执行的操作:名称、编号、数目*/ printf(“请选择要修改的信息项目:“);scanf(“%d“, /*根据用户选择进行相应的修改*/switch(choose)case 1:printf(“请录入修改的商品的名称:n“); scanf(“%s“,imi.goods_name);pri

31、ntf(“修改成功!n“);break;case 2:printf(“请录入修改的商品的编号:n“); scanf(“%d“,printf(“修改成功!n“);break;case 3:printf(“请录入修改的商品的数目:n“); scanf(“%d“,printf(“修改成功!n“);break;case 4:printf(“请录入修改的商品的名称:n“); scanf(“%s“,imi.goods_name);printf(“请录入修改的商品的编号:n“); scanf(“%d“,printf(“请录入修改的商品的数目:n“); scanf(“%d“,printf(“修改成功!n“);

32、break;default:printf(“输入错误!“); /*end of switch*/return;/*end of if*/*end of for*/printf(“没有该商品n“);4.6 查询单个商品信息查询单个商品信息时,输入商品编号,如果没有该商品,则提示没有该商品 (如图 4.6.1 所示);如果有该商品,则直接显示该商品的名称、编号、以及 数目。如图 4.6.2 所示。图 4.6.1 查询单个商品信息 1图 4.6.2 查询单个商品信息 2 这个过程用到的代码: void check_oneGoods(information im, int goods_number)

33、int i;/*是实现一个商品的查询*/for(i = 0; i size; i+)if(imi.goods_number = goods_number)printf(“商品的名称=%st 商品的编号=%dt 商品的数目=%dn“,imi.goods_name,imi.goods_number,imi.goods_count);return ;/*end of if*/*end of for*/ printf(“没有该商品n“); 4.7 商品库存系统退出在键盘上输入“-1”后,程序将会结束。如图 4.7 所示。图 4.7 程序退出 这个过程用到的代码:case -1:printf(“退出!“

34、); break; 4.8 其他字符输入管理如果输入的字符不是主界面定义的,则显示“输入信息有误”。如图 4.8 所 示。图 4.8 其他字符输入管理 这个过程用到的代码:default: printf(“输入信息错误!“); 第第 5 5 章章 调试调试5.1 测试目的 软件的错误是不可避免的,所以必须经过严格的测试。通过对本软件的测 试,尽可能的发现软件中的错误,借以减少系统内部各模块的逻辑,功能上的 缺陷和错误,保证每个单元能正确地实现其预期的功能。检测和排除子系统 (或系统)结构或相应程序结构上的错误,使所有的系统单元配合合适,整体 的性能和功能完整。并且使组装好的软件的功能与用户要求

35、一致。5.2 功能测试 入库测试 输入商品的数据信息进行登记,最终保存于库存中便于管理。商品名称 商品编号 商品数目输入 shupian 1 20Latiao 2 100 最终数据管理正常。 查询测试查询所需要的商品的库存量以及有无情况。商品编号 输入 3 结果 没有该商品商品编号 输入 1商品名称 商品编号 商品数目 结果 shupian 1 20 删除测试对于一些用不到的商品进行清除处理。商品编号 输入 3 结果 没有该商品商品编号 输入 1 结果 已删除成功 修改测试关于商品的名称、编号、数目进行修改。应用于出库管理。 对商品数目进行修改数目 输入 18 结果 修改成功经过一系列的测试,

36、程序成功运行。第第 6 章章 总结与展望总结与展望通过这个程序设计,查阅了很多知识,也学会了很多内容。同时,团队合作是非常重要的。虽然这个程序有点简单,也有很多的不足,但是我们以后会做的更好的。本次课程设计,根据任务书要求,实现了添加、修改、删除、录入、查询等商品信息,库存管理较为复杂,光凭人力极难完成,因此需要合理而又简单的程序进行管理,依靠程序可以及时知晓库存商品具体信息,比如商品的名称,编号,数量,有了详细的数据,管理者就免去了复杂的整理过程,只需要根据查询所得到的信息来进行管理,可以做出及时应对措施。总结:本次课程设计实验在于培养我们的逻辑思维能力,检验我们书写基本程序的水平,本次课程设计大大提高了我们的编程水平,通过小组成员之间的交流,解决了许多以往我们所不知道的问题,成员之间的相互合作与交流是本次课程设计最终圆满完成的关键。展望:关于本次程序中还存在了很多的不完美之处。例如,在录入商品信息的过程中,如果商品已经存在了,就应该提示错误信息,不允许录入进去;在库存中输入后永久性保存也是一个问题。这都是我们以后要进行的方向。附录附录附录 A 参考文献李丽娟,C 语言程序设计教程,北京:人民邮电出版社,2013

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档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