商品库存管理系统需求分析_第1页
商品库存管理系统需求分析_第2页
商品库存管理系统需求分析_第3页
商品库存管理系统需求分析_第4页
商品库存管理系统需求分析_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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删除商品信息 (22) 4.5修改商品信息 (24) 4.6查询单个商品信息(30

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

3、们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对物资信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套商品库存管理软件成为很有必要的事情。第

4、2章 总体设计2.1 系统的需求分析 伴随着计算机的发展及网络技术的应用,我们正在快速地向信息化社会迈进,信息自动化的作用变得越来越大。 在仓库管理领域中,仓库管理的规模正在不断扩大,仓库管理的复杂度正在急剧地增加,有关仓库管理的各种信息量也成倍地增长。面对庞大的信息量,就需要有商品库存管理系统来提高库存管理工作的效率。通过这样的系统,可以方便的查询、添加和修改商品及供货商的基本情况,掌握入库出库的各种情况,实现信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,同时避免由于人为因素造成数据遗漏和误报等。2.2 系统功能 本系统主要模块为商品信息管理。仓库管理模块通过此模块来管理商品

5、信息,包括浏览、录入、查询、修改和删除功能。 2.2.1 录入功能 录入功能是向系统中输入数据的一个功能。可以把商品的名称、编号以及数据录入系统中。流程图如图2.1所示 图 2.1 入库流程图 2.2.2 查询功能 查询功能是对于库存中的产品的数据进行查询。流程图如图2.2所示 图2.2 查询功能流程图 首先输入一个商品代码i,然后对i进行判断,如果i正确也就是存在,那么i,执行输出该商品各信息的步骤。如果i不存在i,那么执行没有该商品这个步骤。最后进行循环该步骤查询多个商品. 2.2.3 修改功能 修改功能是应用于对商品信息的修改。出库后的时候对商品库存数目的管理;还有对于一些错误信息的修改

6、。具体流程如图2.3所示 图 2.3 修改功能流程图 2.2.4 删除功能 删除功能主要应用于把不需要的商品进行下架处理。流程图如图2.4所示 图2.1 删除功能流程图 刚开始定义两个变量,然后与商品的属性值进行比较,通过循环达到我们所需的条件,再根据这些与录入的商品信息进行比较,商品信息中有我们要找的商品最后进行删除,没有该商品信息的则退出。2.3 主要用到的函数 1. int main(void);主函数 2.void add_goods(information im , int geshu);录入商品信息 3.check_goods(information im);查询并显示所有商品 4

7、.menu(); 列出对商品所要执行的操作:录入、查询、删除、修改 5.void del_goodsinfor(information im ,int goods_number); 对商品进行删除操作 6. void check_oneGoods(information im , int goods_number); 对商品按编号进行查询 7. void menu1();列出对商品信息修改操作:名称、编号、数目 8. void change_goodsinfor(information im ,int goods_number) 对商品信息进行修改 第三章 详细设计3.1 代码以及对应的备注#

8、include<stdio.h>#define max 100/*给定结构体数组的最大值*/int size = 0;/*显示商品属性的信息*/typedef struct goodsInformation char goods_name20;/*商品的名字*/ int goods_number;/*商品的编号*/ int goods_count;/*商品的数目*/information;/* * Function:void add_goods(information im, int geshu) * Description:存储商品的信息 * Called By: * int m

9、ain(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",imi.goods_name); printf("请录入商品的编号:n"); scanf("%d",&imi.goods

10、_number); printf("请录入商品的数目:n"); scanf("%d",&imi.goods_count); 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

11、; /*目的是实现输入多个商品*/ for(i = 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:列出对商品所

12、要执行的操作:录入、查询、删除、修改 * */void menu() printf("nttt菜单栏nntt1.录入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_

13、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; /*end of for*/ size-; printf("删除成功!n"); return ; /*end of if*/ /*end of for*/ printf("没有该商品n"

14、);/* * Function:void check_oneGoods(information im, int goods_number) * Description:根据相应的编号,查询一个商品的信息并显示出来 * Called 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) p

15、rintf("商品的名称=%st商品的编号=%dt商品的数目=%dn", imi.goods_name,imi.goods_number,imi.goods_count); return ; /*end of if*/ /*end of for*/ printf("没有该商品n");/* * Function:void menu1() * Description:列出对商品的属性所要执行的操作:名称、编号、数目等。 * Called By: * void change_goodsinfor(information im,int goods_number)

16、 * Output:列出对商品所要执行的操作:名称、编号、数目 * */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 ch

17、ange_goodsinfor(information im,int goods_number) int i, choose; /*找到对应的编号,然后根据对应编号的商品信息进行修改*/ for(i=0; i<size; i+) /*通过比较找到修改的编号,进行修改*/ if(imi.goods_number = goods_number) menu1(); /*列出对商品所要执行的操作:名称、编号、数目*/ printf("请选择要修改的信息项目:"); scanf("%d",&choose); /*根据用户选择进行相应的修改*/ swi

18、tch(choose) case 1: printf("请录入修改的商品的名称:n"); scanf("%s",imi.goods_name); printf("修改成功!n"); break; case 2: printf("请录入修改的商品的编号:n"); scanf("%d",&imi.goods_number); printf("修改成功!n"); break; case 3: printf("请录入修改的商品的数目:n"); scanf(

19、"%d",&imi.goods_count); printf("修改成功!n"); break; case 4: printf("请录入修改的商品的名称:n"); scanf("%s",imi.goods_name); printf("请录入修改的商品的编号:n"); scanf("%d",&imi.goods_number); printf("请录入修改的商品的数目:n"); scanf("%d",&imi.g

20、oods_count); printf("修改成功!n"); break; default: printf("输入错误!"); /*end of switch*/ return; /*end of if*/ /*end of for*/ printf("没有该商品n");/* * Function:int main(void) Description:主函数 * Calls: * 1.void add_goods(information im, int geshu); * 2.check_goods(information im);

21、* 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:用户根据需要,输入要选择的功能的编号 * Output:查询并显示所有的商品 * */int main(void) information goodsmax; int geshu; int value

22、= 0; int goods_id; while(value != -1)/当用户不想对商品进行操作时,按"-1"结束操作 menu();/列出操作:录入、查询、删除、修改等 printf("请选择所要执行的操作:n"); scanf("%d",&value); switch(value)/根据value的值来执行相应的操作 case 1: printf("请输入你要录入商品种类的个数:"); scanf("%d",&geshu); add_goods(goods, geshu)

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

24、修改商品的信息 break; case 5: printf("请输入要查询的商品的编号:"); scanf("%d",&goods_id); check_oneGoods(goods,goods_id);/商品信息的查询 break; case -1: printf("退出!"); break; default: printf("输入信息错误!"); /*end of switch*/ /*end of while*/ 第四章 平面设计及代码 4.1 主界面 进入后主界面后的界面如图4.1所示。 图4.1

25、主界面主界面所用到的代码: menu();/列出操作:录入、查询、删除、修改等 printf("请选择所要执行的操作:n"); scanf("%d",&value); switch(value)/根据value的值来执行相应的操作 case 1: printf("请输入你要录入商品种类的个数:"); scanf("%d",&geshu); add_goods(goods, geshu);/商品的录入 break; case 2: check_goods(goods);/所有商品的查询 break;

26、case 3: printf("请输入要删除的商品的编号:"); scanf("%d",&goods_id); del_goodsinfor(goods,goods_id);/删除商品的信息 break; case 4: printf("请输入要修改的商品的编号:"); scanf("%d",&goods_id); change_goodsinfor(goods,goods_id);/修改商品的信息 break; case 5: printf("请输入要查询的商品的编号:");

27、scanf("%d",&goods_id); 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)

28、int i; int count = size + geshu; /*目的是实现商品的多次输入*/ for(i = size; i < count; i+) printf("请录入商品的名称:n"); scanf("%s",imi.goods_name); printf("请录入商品的编号:n"); scanf("%d",&imi.goods_number); printf("请录入商品的数目:n"); scanf("%d",&imi.goods_cou

29、nt); size+; /*end of for*/ printf("添加成功!nn"); 4.3 查看商品信息 当查看商品信息时,显示的是库存里的所有商品。当没有商品时则什么都不显示,直接继续下一步操作(如图4.3.1所示);有商品的时候 ,则全部商品都显示出来。如图4.3.2所示。 图4.3.1 查看商品信息1 图4.3.2 查看商品信息2这个过程用到的代码:void check_goods(information im) int i; /*目的是实现输入多个商品*/ for(i = 0; i < size; i+) printf("库存的商品有:&qu

30、ot;); printf("商品的名称=%st商品的编号=%dt商品的数目=%dn", imi.goods_name,imi.goods_number,imi.goods_count); /*end of for*/ 4.4 删除商品信息 删除商品信息时,提示删除该商品的编号是什么。当删除的商品在库存里没有时,提示没有该商品(如图4.4.1所示);当删除的商品在库存里有的时候,则显示删除成功。如图4.4.2所示。 图 4.4.1 删除商品信息1 图4.4.2 删除商品信息2这个过程用到的代码:void del_goodsinfor(information im,int go

31、ods_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; /*end of for*/ size-; printf("删除成功!n"); return ; /*end of if*/ /*end of for*/ printf("没有该商品n&q

32、uot;);4.5 修改商品信息 修改商品信息时,输入一个商品的编号,当库存里没有该商品时,则提示没有该商品(如图4.5.1所示);当库存里有该商品时,则提示修改商品的什么内容。修改内容分别为名称、编号、数目以及所有信息。如图4.5.2所示。 图4.5.1 修改商品信息1 图 4.5.2 修改商品信息2选择修改的信息项目后,提示输入对应的商品信息内容,输入后,提示修改成功。如图4.5.3所示。 图4.5.3 修改商品信息3这个过程用到的代码:void menu1() printf("nttt选择修改项nntt1.名称tt2.编号nntt3.数目t4.修改所有信息nn");/

33、* * Function:void change_goodsinfor(information im,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; i<size;

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

35、quot;); break; case 2: printf("请录入修改的商品的编号:n"); scanf("%d",&imi.goods_number); printf("修改成功!n"); break; case 3: printf("请录入修改的商品的数目:n"); scanf("%d",&imi.goods_count); printf("修改成功!n"); break; case 4: printf("请录入修改的商品的名称:n"

36、); scanf("%s",imi.goods_name); printf("请录入修改的商品的编号:n"); scanf("%d",&imi.goods_number); printf("请录入修改的商品的数目:n"); scanf("%d",&imi.goods_count); printf("修改成功!n"); break; default: printf("输入错误!"); /*end of switch*/ return; /*e

37、nd 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) 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 ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论