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

下载本文档

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

文档简介

1、.商品库存管理程序设计报告课程名称: C 语言课程设计程序设计班级:电 气 1401组长:王闯小组成员:王闯孟宁夏涵胡琛谢俊良韩梦成代仁旺指导老师:伊芸芸.目录116373.194174.1(17)4.218)4.3(20)4.4224.5244.6304.7324.8325345.1345.23463536.A36 37.第一章 引言商品经济是社会经济的重要组成部分 , 而作为商品经济最基本的商品 , 由于其种类繁多 , 因此其商品管理本身就已经比较复杂 , 何况作为商品管理最重要的库存管理的复杂性 , 可想而知。因此一个完善的商品库存管理系统是一个企业不可缺少的部

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

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

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

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

6、函数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() ;列出对

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

8、formation;/* 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(&q

9、uot;%s",imi.goods_name);printf("请录入商品的编号: n");scanf("%d",&imi.goods_number);printf("请录入商品的数目: n");scanf("%d",&imi.goods_count);size+;/*end of for*/printf("添加成功 !nn");/* Function:void check_goods(information im)* Description:查询所有的商品并显示出来*

10、 Called By:* int main(void)* Output: 显示所有的商品*/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*/* Function:void menu()* De

11、scription:列出对商品所要执行的操作 : 录入、查询、删除、修改等。* Called By:* int main(void)* Output: 列出对商品所要执行的操作 : 录入、查询、删除、修改*/void menu()printf("nttt菜单栏 nntt1.录入 tt2.查看 nntt3.删除 tt4.修改 nntt5.查询 tt退出请按: -1nn");/* Function:void del_goodsinfor(information im,int goods_number)* Description:删除对应编号的商品信息。* Called By:*

12、 int main(void)* Output: 输出提示信息*/.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; /*end of for*/ size-;printf(" 删除成功 !

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

14、(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");/* Function:void menu1()* Description:列出对商品的属性所要执行的操作 : 名称、编号、数目等。* Called

15、By:* void change_goodsinfor(information im,int goods_number)* Output: 列出对商品所要执行的操作 : 名称、编号、数目*.*/void menu1()printf("nttt选择修改项 nntt1.名称 tt2.编号 nntt3.数目 t4.修改所有信息 nn");/*Function:void change_goodsinfor(informationim,intgoods_number)* Description:根据相应的编号,修改一个商品的信息* Calls: void menu1()* Calle

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

17、ot;%d",&choose);./*根据用户选择进行相应的修改*/switch(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:print

18、f("请录入修改的商品的数目:n");scanf("%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");scan

19、f("%d",&imi.goods_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

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

21、 value = 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

22、);/商品的录入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);/修改商品的信息break

23、;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主界面主界面所用到的代码:menu();/列出操

24、作:录入、查询、删除、修改等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;case 3:printf("请输入要删除的商品的编号:&

25、quot;);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("请输入要查询的商品的编号:");scanf("%d",&goods_id);check_oneG

26、oods(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 + geshu;/* 目的是实现商品的多次输入*/for

27、(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_count);size+;/*end of for*/printf("添加成功 !nn");4.

28、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("库存的商品有: ");printf(" 商品的名称 =%st 商品的编号 =%dt 商品的数目 =%dn"

29、, 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 goods_number)int i,j;/* 找到给定的编号,并删除对应编号的信息*/for(i

30、 = 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");4.5修改商品信息修改商品信息时, 输入一个商品的编号, 当库存里没有该商品时, 则提示没有该商品

31、(如图 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");/*Function:void change_goodsinfor(infor

32、mationim,intgoods_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; i+)/*通过比较找到修改的编号,进行修改*/if(imi.goods_number = goods_

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

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

35、;);scanf("%d",&imi.goods_number);printf("请录入修改的商品的数目:n");scanf("%d",&imi.goods_count);printf("修改成功! n");break;default:printf("输入错误! "); /*end of switch*/ return;/*end of if*/*end of for*/printf("没有该商品 n");.4.6查询单个商品信息查询单个商品信息时, 输入商品

36、编号,如果没有该商品,则提示没有该商品(如图 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 ;/*end of if*/./*end of

温馨提示

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

评论

0/150

提交评论