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

付费下载

下载本文档

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

文档简介

./商品库存管理程序设计报告课程名称:C语言课程设计程序设计班级:电气1401组长:王闯小组成员:王闯孟宁夏涵胡琛谢俊良韩梦成代仁旺指导老师:伊芸芸.目录第1章引言………………〔1第2章总体设计…………〔22.1系统的需求分析……〔22.2系统的功能………〔22.3主要用到的函数……〔6详细设计…………〔73.1代码以及对应的备注…………………〔9界面设计及代码…………………〔174.1主界面…………………<17>4.2录入商品信息…………〔18>4.3查看商品信息……………<20>4.4删除商品信息……………〔224.5修改商品信息……………〔244.6查询单个商品信息………〔304.7商品库存系统退出………〔324.8其他字符输入管理………〔32调试…………………〔345.1测试目的…………………〔345.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.intmain<void>;主函数2.voidadd_goods<informationim[],intgeshu>;录入商品信息3.check_goods<informationim[]>;查询并显示所有商品4.menu<>;列出对商品所要执行的操作:录入、查询、删除、修改5.voiddel_goodsinfor<informationim[],intgoods_number>;对商品进行删除操作6.voidcheck_oneGoods<informationim[],intgoods_number>;对商品按编号进行查询7.voidmenu1<>;列出对商品信息修改操作:名称、编号、数目8.voidchange_goodsinfor<informationim[],intgoods_number>对商品信息进行修改第三章详细设计3.1代码以及对应的备注#include<stdio.h>#definemax100/*给定结构体数组的最大值*/intsize=0;/*显示商品属性的信息*/typedefstructgoodsInformation{chargoods_name[20];/*商品的名字*/intgoods_number;/*商品的编号*/intgoods_count;/*商品的数目*/}information;/**Function:voidadd_goods<informationim[],intgeshu>*Description:存储商品的信息*CalledBy:*intmain<void>*Input:用户根据相应的提示,输入商品信息**/voidadd_goods<informationim[],intgeshu>{inti;intcount=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++;}/*endoffor*/printf<"添加成功!\n\n">;}/**Function:voidcheck_goods<informationim[]>*Description:查询所有的商品并显示出来*CalledBy:*intmain<void>*Output:显示所有的商品**/voidcheck_goods<informationim[]>{inti;/*目的是实现输入多个商品*/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>;}/*endoffor*/}/**Function:voidmenu<>*Description:列出对商品所要执行的操作:录入、查询、删除、修改等。*CalledBy:*intmain<void>*Output:列出对商品所要执行的操作:录入、查询、删除、修改**/voidmenu<>{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:voiddel_goodsinfor<informationim[],intgoods_number>*Description:删除对应编号的商品信息。*CalledBy:*intmain<void>*Output:输出提示信息**/voiddel_goodsinfor<informationim[],intgoods_number>{inti,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];}/*endoffor*/size--;printf<"删除成功!\n">;return;}/*endofif*/}/*endoffor*/printf<"没有该商品\n">;}/**Function:voidcheck_oneGoods<informationim[],intgoods_number>*Description:根据相应的编号,查询一个商品的信息并显示出来*CalledBy:*intmain<void>*Output:一个的商品的信息**/voidcheck_oneGoods<informationim[],intgoods_number>{inti;/*是实现一个商品的查询*/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;}/*endofif*/}/*endoffor*/printf<"没有该商品\n">;}/**Function:voidmenu1<>*Description:列出对商品的属性所要执行的操作:名称、编号、数目等。*CalledBy:*voidchange_goodsinfor<informationim[],intgoods_number>*Output:列出对商品所要执行的操作:名称、编号、数目**/voidmenu1<>{printf<"\n\t\t\t选择修改项\n\n\t\t1.名称\t\t2.编号\n\n\t\t3.数目\t4.修改所有信息\n\n">;}/**Function:voidchange_goodsinfor<informationim[],intgoods_number>*Description:根据相应的编号,修改一个商品的信息*Calls:voidmenu1<>*CalledBy:*intmain<void>*Output:对商品的修改信息进行提示**/voidchange_goodsinfor<informationim[],intgoods_number>{inti,choose;/*找到对应的编号,然后根据对应编号的商品信息进行修改*/for<i=0;i<size;i++>{/*通过比较找到修改的编号,进行修改*/if<im[i].goods_number==goods_number>{menu1<>;/*列出对商品所要执行的操作:名称、编号、数目*/printf<"请选择要修改的信息项目:">;scanf<"%d",&choose>;/*根据用户选择进行相应的修改*/switch<choose>{case1:printf<"请录入修改的商品的名称:\n">;scanf<"%s",im[i].goods_name>;printf<"修改成功!\n">;break;case2:printf<"请录入修改的商品的编号:\n">;scanf<"%d",&im[i].goods_number>;printf<"修改成功!\n">;break;case3:printf<"请录入修改的商品的数目:\n">;scanf<"%d",&im[i].goods_count>;printf<"修改成功!\n">;break;case4: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<"输入错误!!">;}/*endofswitch*/return;}/*endofif*/}/*endoffor*/printf<"没有该商品\n">;}/**Function:intmain<void>Description:主函数*Calls:*1.voidadd_goods<informationim[],intgeshu>;*2.check_goods<informationim[]>;*3.menu<>;*4.voiddel_goodsinfor<informationim[],intgoods_number>;*5.voidcheck_oneGoods<informationim[],intgoods_number>;*6.voidchange_goodsinfor<informationim[],intgoods_number>*Input:用户根据需要,输入要选择的功能的编号*Output:查询并显示所有的商品**/intmain<void>{informationgoods[max];intgeshu;intvalue=0;intgoods_id;while<value!=-1>//当用户不想对商品进行操作时,按"-1"结束操作{menu<>;//列出操作:录入、查询、删除、修改等printf<"请选择所要执行的操作:\n">;scanf<"%d",&value>;switch<value>//根据value的值来执行相应的操作{case1:printf<"请输入你要录入商品种类的个数:">;scanf<"%d",&geshu>;add_goods<goods,geshu>;//商品的录入break;case2:check_goods<goods>;//所有商品的查询break;case3:printf<"请输入要删除的商品的编号:">;scanf<"%d",&goods_id>;del_goodsinfor<goods,goods_id>;//删除商品的信息break;case4:printf<"请输入要修改的商品的编号:">;scanf<"%d",&goods_id>;change_goodsinfor<goods,goods_id>;//修改商品的信息break;case5:printf<"请输入要查询的商品的编号:">;scanf<"%d",&goods_id>;check_oneGoods<goods,goods_id>;//商品信息的查询break;case-1:printf<"退出!">;break;default:printf<"输入信息错误!!">;}/*endofswitch*/}/*endofwhile*/}第四章平面设计及代码4.1主界面进入后主界面后的界面如图4.1所示。图4.1主界面主界面所用到的代码:menu<>;//列出操作:录入、查询、删除、修改等printf<"请选择所要执行的操作:\n">;scanf<"%d",&value>;switch<value>//根据value的值来执行相应的操作{case1:printf<"请输入你要录入商品种类的个数:">;scanf<"%d",&geshu>;add_goods<goods,geshu>;//商品的录入break;case2:check_goods<goods>;//所有商品的查询break;case3:printf<"请输入要删除的商品的编号:">;scanf<"%d",&goods_id>;del_goodsinfor<goods,goods_id>;//删除商品的信息break;case4:printf<"请输入要修改的商品的编号:">;scanf<"%d",&goods_id>;change_goodsinfor<goods,goods_id>;//修改商品的信息break;case5:printf<"请输入要查询的商品的编号:">;scanf<"%d",&goods_id>;check_oneGoods<goods,goods_id>;//商品信息的查询break;case-1:printf<"退出!">;break;default:printf<"输入信息错误!!">;}4.2录入商品信息录入商品信息时,首先提示录入商品的种类个数,选择过后,然后进行商品信息的名称、编号、数量的录入,最后提示添加成功。如图4.2所示。图4.2录入信息这个过程用到的代码:voidadd_goods<informationim[],intgeshu>{inti;intcount=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++;}/*endoffor*/printf<"添加成功!\n\n">;}4.3查看商品信息当查看商品信息时,显示的是库存里的所有商品。当没有商品时则什么都不显示,直接继续下一步操作〔如图4.3.1所示;有商品的时候,则全部商品都显示出来。如图4.3.2所示。图4.3.1查看商品信息1图4.3.2查看商品信息2这个过程用到的代码:voidcheck_goods<informationim[]>{inti;/*目的是实现输入多个商品*/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>;}/*endoffor*/}4.4删除商品信息删除商品信息时,提示删除该商品的编号是什么。当删除的商品在库存里没有时,提示没有该商品〔如图4.4.1所示;当删除的商品在库存里有的时候,则显示删除成功。如图4.4.2所示。图4.4.1删除商品信息1图4.4.2删除商品信息2这个过程用到的代码:voiddel_goodsinfor<informationim[],intgoods_number>{inti,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];}/*endoffor*/size--;printf<"删除成功!\n">;return;}/*endofif*/}/*endoffor*/printf<"没有该商品\n">;}4.5修改商品信息修改商品信息时,输入一个商品的编号,当库存里没有该商品时,则提示没有该商品〔如图4.5.1所示;当库存里有该商品时,则提示修改商品的什么内容。修改内容分别为名称、编号、数目以及所有信息。如图4.5.2所示。图4.5.1修改商品信息1图4.5.2修改商品信息2选择修改的信息项目后,提示输入对应的商品信息内容,输入后,提示修改成功。如图4.5.3所示。图4.5.3修改商品信息3这个过程用到的代码:voidmenu1<>{printf<"\n\t\t\t选择修改项\n\n\t\t1.名称\t\t2.编号\n\n\t\t3.数目\t4.修改所有信息\n\n">;}/**Function:voidchange_goodsinfor<informationim[],intgoods_number>*Description:根据相应的编号,修改一个商品的信息*Calls:voidmenu1<>*CalledBy:*intmain<void>*Output:对商品的修改信息进行提示**/voidchange_goodsinfor<informationim[],intgoods_number>{inti,choose;/*找到对应的编号,然后根据对应编号的商品信息进行修改*/for<i=0;i<size;i++>{/*通过比较找到修改的编号,进行修改*/if<im[i].goods_number==goods_number>{menu1<>;/*列出对商品所要执行的操作:名称、编号、数目*/printf<"请选择要修改的信息项目:">;scanf<"%d",&choose>;/*根据用户选择进行相应的修改*/switch<choose>{case1:printf<"请录入修改的商品的名称:\n">;scanf<"%s",im[i].goods_name>;printf<"修改成功!\n">;break;case2:printf<"请录入修改的商品的编号:\n">;scanf<"%d",&im[i].goods_number>;printf<"修改成功!\n">;break;case3:printf<"请录入修改的商品的数目:\n">;scanf<"%d",&im[i].goods_count>;printf<"修改成功!\n">;break;case4: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<"输入错误!!">;}/*endofswitch*/return;}/*endofif*/}/*endoffor*/printf<"没有该商品\n">;}4.6查询单个商品信息查询单个商品信息时,输入商品编号,如果没有该商品,则提示没有该商品〔如图4.6.1所示;如果有该商品,则直接显示该商品的名称、编号、以及数目。如图4.6.2所示。图4.6.1查询单个商品信息1图4.6.2查询单个商品信息2这个过程用到的代码:voidcheck_oneGoods<informationim[],intgoods_number>{inti;/*是实现一个商品的查询*/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;}/*endofif*/}/*endoffor*/printf<"没有该商品

温馨提示

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

最新文档

评论

0/150

提交评论