当前位置:文档之家› 商品库存管理系统需求分析

商品库存管理系统需求分析

商品库存管理程序设计报告课程名称: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)4.7商品库存系统退出 (32)4.8其他字符输入管理 (32)第5章调试 (34)5.1测试目的 (34)5.2功能测试 (34)第6章总结与展望 (35)附录 (36)附录A小组成员及其分工情况 (36)参考文献 (37)第一章引言商品经济是社会经济的重要组成部分,而作为商品经济最基本的商品,由于其种类繁多,因此其商品管理本身就已经比较复杂,何况作为商品管理最重要的库存管理的复杂性, 可想而知。

因此一个完善的商品库存管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以商品库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对物资信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套商品库存管理软件成为很有必要的事情。

第二章总体设计2.1 系统的需求分析伴随着计算机的发展及网络技术的应用,我们正在快速地向信息化社会迈进,信息自动化的作用变得越来越大。

在仓库管理领域中,仓库管理的规模正在不断扩大,仓库管理的复杂度正在急剧地增加,有关仓库管理的各种信息量也成倍地增长。

面对庞大的信息量,就需要有商品库存管理系统来提高库存管理工作的效率。

通过这样的系统,可以方便的查询、添加和修改商品及供货商的基本情况,掌握入库出库的各种情况,实现信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,同时避免由于人为因素造成数据遗漏和误报等。

2.2 系统功能本系统主要模块为商品信息管理。

仓库管理模块通过此模块来管理商品信息,包括浏览、录入、查询、修改和删除功能。

2.2.1 录入功能录入功能是向系统中输入数据的一个功能。

可以把商品的名称、编号以及数据录入系统中。

流程图如图2.1所示图2.1 入库流程图2.2.2 查询功能查询功能是对于库存中的产品的数据进行查询。

流程图如图2.2所示图2.2 查询功能流程图首先输入一个商品代码i,然后对i进行判断,如果i正确也就是存在,那么i,执行输出该商品各信息的步骤。

如果i不存在i,那么执行没有该商品这个步骤。

最后进行循环该步骤查询多个商品.2.2.3 修改功能修改功能是应用于对商品信息的修改。

出库后的时候对商品库存数目的管理;还有对于一些错误信息的修改。

具体流程如图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.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 代码以及对应的备注#include<stdio.h>#define max 100/*给定结构体数组的最大值*/int size = 0;/*显示商品属性的信息*/typedef struct goodsInformation{char goods_name[20];/*商品的名字*/int goods_number;/*商品的编号*/int goods_count;/*商品的数目*/}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",im[i].goods_name);printf("请录入商品的编号:\n");scanf("%d",&im[i].goods_number);printf("请录入商品的数目:\n");scanf("%d",&im[i].goods_count);size++;}/*end of for*/printf("添加成功!\n\n");}/** Function:void check_goods(information im[]) * Description:查询所有的商品并显示出来* Called By:* int main(void)* Output:显示所有的商品**/void check_goods(information im[]){int i;/*目的是实现输入多个商品*/for(i = 0; i < size; i++)printf("库存的商品有:");printf("商品的名称=%s\t商品的编号=%d\t商品的数目=%d\n",im[i].goods_name,im[i].goods_number,im[i].goods_count);}/*end of for*/}/** Function:void menu()* Description:列出对商品所要执行的操作:录入、查询、删除、修改等。

* Called By:* int main(void)* Output:列出对商品所要执行的操作:录入、查询、删除、修改**/void menu(){printf("\n\t\t\t菜单栏\n\n\t\t1.录入\t\t2.查看\n\n\t\t3.删除\t\t4.修改\n\n\t\t5.查询\t\t退出请按:-1\n\n");}/** 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++){/*通过比较找到对应编号,然后删除*/if(im[i].goods_number == goods_number){/*通过移动数组元素来删除信息*/for(j = i; j < size - 1; j++){im[j] = im[j+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:根据相应的编号,查询一个商品的信息并显示出来* Called By:* int main(void)* Output:一个的商品的信息**/void check_oneGoods(information im[], int goods_number){int i;/*是实现一个商品的查询*/for(i = 0; i < size; i++){if(im[i].goods_number == goods_number){printf("商品的名称=%s\t商品的编号=%d\t商品的数目=%d\n",im[i].goods_name,im[i].goods_number,im[i].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) * Output:列出对商品所要执行的操作:名称、编号、数目*void menu1(){printf("\n\t\t\t选择修改项\n\n\t\t1.名称\t\t2.编号\n\n\t\t3.数目\t4.修改所有信息\n\n");}/** 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; i++){/*通过比较找到修改的编号,进行修改*/if(im[i].goods_number == goods_number){menu1(); /*列出对商品所要执行的操作:名称、编号、数目*/printf("请选择要修改的信息项目:");scanf("%d",&choose);/*根据用户选择进行相应的修改*/switch(choose){case 1:printf("请录入修改的商品的名称:\n"); scanf("%s",im[i].goods_name);printf("修改成功!\n");break;case 2:printf("请录入修改的商品的编号:\n"); scanf("%d",&im[i].goods_number);printf("修改成功!\n");break;case 3:printf("请录入修改的商品的数目:\n"); scanf("%d",&im[i].goods_count);printf("修改成功!\n");break;case 4:printf("请录入修改的商品的名称:\n"); scanf("%s",im[i].goods_name);printf("请录入修改的商品的编号:\n"); scanf("%d",&im[i].goods_number);printf("请录入修改的商品的数目:\n"); scanf("%d",&im[i].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(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 goods[max];int geshu;int 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);//商品的录入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;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所示。

相关主题