1、商店存货管理系统 兰州商学院陇桥学院 工学系课程设计报告设 计 题 目:商品存货管理系统 系 别:工学系 专 业 (方 向):计算机科学与技术(网络工程方向)年 级、 班:2012级本科班 学 生 姓 名:* 学 生 学 号:* 指 导 教 师:* 2013 年 6 月 30 日目录一、系统开发的背景 1二、系统分析与设计 1(一) 系统功能要求 1(二) 系统模块结构设计 1三、系统的设计与实现 3(一) 查看商品全部信息:xuanze1 () 3(二) 查看某个商品信息:xuanze2() 4(三) 添加商品信息:xuanze3() 5(四) 修改商品信息:xuanze4() 7(五) 删
2、除商品信息:xuanze5() 11(六) 销售商品:xuanze6() 12(七) 返回主菜单:xuanze7() 14四、系统测试 15(一) 测试xuanze1()函数 15(二) 测试xuanze2()函数 15(三) 测试xuanze3()函数 16(四) 测试xuanze4()函数 17(五) 测试xuanze5()函数 19(六) 测试xuanze6()函数 20(七) 测试xuanze7()函数 21五、总结 21六、附件(代码、部分图表) 21商店存货管理系统一、系统开发的背景随着社会的发展,商品日新月异,品种繁多,以前的纸质记账方式已不能满足社会的需求,因此我们要用计算机设
3、计一个商店存货管理系统来替代纸质记账方式,它可以为店主和消费者带来方便,提高商店的工作效率。二、系统分析与设计(一) 系统功能要求建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中止时间的货物。1、 建立商品基本信息(名称,编号,数量,进货时间,保质时间);2、 入货操作;3、 出货操作;4、 查询库存;(二) 系统模块结构设计通过对系统功能的分析,商店存货系统功能如图1所示。商店存货管理系统图1 商店存货管理系统功能图通过上图的功能分析,把整个系统划分为8个模块:1、 查看商品全部信息,该模块主要实现商品基本信息(名称,编号,数量,进货时间,保质时间)的输出,借助函数 xu
4、anze1( ),调用结构体内已存入的商品来实现;2、 查看某个商品信息,该模块主要实现通过借助函数xuanze2(),调用结构体内已存入的数据,来实现对某一商品的查找;3、 添加商品信息,该模块中又实现两个功能,(1)添加同一商品,(2)添加新商品。通过借助函数xuanze3()实现;4、 修改商品,该模块主要实现对全部信息中不正确的信息进行更改,通过借助函数xuanze4()实现;5、 删除商品,该模块主要实现对已过时的,该店不再销售的商品进行删除,通过借助函数xuanze5()实现;6、 销售商品,该模块主要实现销售商品,计算总价,统计库存余量,通过借助函数xuanze6()实现;7、
5、返回主菜单,该模块作用为方便对不同需求进行再次选择,通过借助函数xuanze7()实现;8、 安全退出,该模块主要作用为当不需操作时退出操作。三、系统的设计与实现(一) 查看商品全部信息:xuanze1 ()分析:首先输出表头,然后依次输出全部的基本信息。流程图如图xuanze1()所示图2:xuanze1 ()流程图该模块的具体代码如下所示。void xuanze1()printf(-n);printf(商品名 编号 单价 库存数量 进货时间 保质时间 n); printf(-n); for(i=0;i10+k;i+) printf(%s %d %.2f %d %d-%d-%d %d-%d-
6、%d ,fi.name, fi.bianhao,fi.danjia,fi.count,fi.y0,fi.m0,fi.d0,fi.y1,fi.m1,fi.d1); printf(n); printf(-n); (二) 查看某个商品信息:xuanze2()分析:先把需要查找的商品编号存放在一个变量中,让后在全部商品中寻找该商品,如果找到,在表中输出该商品信息。流程图如图xuanze2()所示。图3:xuanze1 ()流程图该模块的具体代码如下所示。void xuanze2() int p; printf(请输入所要查找的商品编号(如100001):); scanf(%d,&p); for(i=0
7、;i10+k;i+) if(p=fi.bianhao) printf(您所要查询商品的详细信息为:n); printf(-n); printf(商品名 编号 单价 库存数量 进货时间 保质时间 n); printf(%s %d %.2f %d %d-%d-%d %d-%d-%d ,fi.name, fi.bianhao,fi.danjia,fi.count,fi.y0,fi.m0,fi.d0,fi.y1,fi.m1,fi.d1); printf(n); printf(-n); (三) 添加商品信息:xuanze3()分析:输入一个变量,如果为1,然后输入所要添加的商品编号进行库存添加;如果为2
8、,然后对新商品进行添加。流程图如图xuanze3()所示。图4:xuanze3()流程图该模块的具体代码如下所示。void xuanze3() int i,j,a,b,c; printf(添加某一商品数量请按1,添加新商品请按2:); scanf(%d,&a); if(a=1) printf(请输入所要添加商品编号(如100001)和所添数量(中间用空格空开):); scanf(%d%d,&b,&c); for(i=0;i10+k;i+) if(b=fi.bianhao) fi.count=fi.count+c; printf(经添加后%s库存为: %dn,fi.name,fi.count);
9、 if(a=2) printf(请输入所要添加的商品种类数量:); scanf(%d,&k); printf(请分别输入所要添加的商品名,编号,单价,添加数量,进货时间,保质时间n); printf((中间用空格隔开):n); for(i=10;i10+k;i+) scanf(%s%d%f%d%d%d%d%d%d%d,&fi.name,&fi.bianhao,&fi.danjia,&fi.count,&fi.y0,&fi.m0,&fi.d0,&fi.y1,&fi.m1,&fi.d1); if(j) printf(添加后商品信息:n); printf(-n); printf(商品名 编号 单价
10、库存数量 进货时间 保质时间 n); for(i=0;i10+k;i+) printf(%s %d %.2f %d %d-%d-%d %d-%d-%d n,fi.name, fi.bianhao,fi.danjia,fi.count,fi.y0,fi.m0,fi.d0,fi.y1,fi.m1,fi.d1); printf(-n); (四) 修改商品信息:xuanze4()分析:先输入商品编号,再输入一个变量,然后对对应变量进行修改。流程图如图xuanze4()所示。图5:xuanze4()流程图该模块的具体代码如下所示。void xuanze4() int c,d,e,i,p,q,h; flo
11、at g; printf(请输入所要修改的商品编号:n); scanf(%d,&p); printf(.n); printf( 请选择所要修改的项目序号 n); printf( 1.商品名 2.编号 n); printf( 3.单价 4.库存 n); printf( 5.生产日期 6.有效期 n); printf(.n); scanf(%d,&q); for(i=0;i10+k;i+) if(p=fi.bianhao) if(q=1) printf(请输入现在的商品名:); scanf(%s,&fi.name ); printf(修改成功!n); printf(-n); printf(商品名
12、编号 单价 库存数量 进货时间 保质时间 n); printf(%s %d %.2f %d %d-%d-%d %d-%d-%d n,fi.name, fi.bianhao,fi.danjia,fi.count,fi.y0,fi.m0,fi.d0,fi.y1,fi.m1,fi.d1); printf(-n); if(q=2) printf(请输入正确的编号:); scanf(%d,&h); fi.bianhao=h; printf(修改成功!n); printf(-n); printf(商品名 编号 单价 库存数量 进货时间 保质时间 n); printf(%s %d %.2f %d %d-%d
13、-%d %d-%d-%d n,fi.name, fi.bianhao,fi.danjia,fi.count,fi.y0,fi.m0,fi.d0,fi.y1,fi.m1,fi.d1); printf(-n); if(q=3) printf(请输入正确的单价:); scanf(%f,&g); fi.danjia=g; printf(修改成功!n); printf(-n); printf(商品名 编号 单价 库存数量 进货时间 保质时间 n); printf(%s %d %.2f %d %d-%d-%d %d-%d-%d n,fi.name, fi.bianhao,fi.danjia,fi.coun
14、t,fi.y0,fi.m0,fi.d0,fi.y1,fi.m1,fi.d1); printf(-n); if(q=4) printf(请输入正确的库存:); scanf(%d,&h); fi.count=h; printf(修改成功!n); printf(-n); printf(商品名 编号 单价 库存数量 进货时间 保质时间 n); printf(%s %d %.2f %d %d-%d-%d %d-%d-%d n,fi.name, fi.bianhao,fi.danjia,fi.count,fi.y0,fi.m0,fi.d0,fi.y1,fi.m1,fi.d1); printf(-n); i
15、f(q=5) printf(请输入正确的生产日期(年,月,日之间用空格空开):); scanf(%d%d%d,&c,&d,&e); fi.y0=c; fi.m0=d; fi.d0=e; printf(修改成功!n); printf(-n); printf(商品名 编号 单价 库存数量 进货时间 保质时间 n); printf(%s %d %.2f %d %d-%d-%d %d-%d-%d n,fi.name, fi.bianhao,fi.danjia,fi.count,fi.y0,fi.m0,fi.d0,fi.y1,fi.m1,fi.d1); printf(-n); if(q=6) print
16、f(请输入正确的有效期(年,月,日之间用空格空开):); scanf(%d%d%d,&c,&d,&e); fi.y1=c; fi.m1=d; fi.d1=e; printf(修改成功!n); printf(-n); printf(商品名 编号 单价 库存数量 进货时间 保质时间 n); printf(%s %d %.2f %d %d-%d-%d %d-%d-%d n,fi.name, fi.bianhao,fi.danjia,fi.count,fi.y0,fi.m0,fi.d0,fi.y1,fi.m1,fi.d1); printf(-n); (五) 删除商品信息:xuanze5()分析:先输入
17、商品编号,在全部商品信息中找到该商品进行删除,然后输出剩余商品信息。流程图如图xuanze5()所示。图6:xuanze5()流程图该模块的具体代码如下所示。void xuanze5() int q,b1000; printf(请填写您所要删除的商品编号(如100001):); scanf(%d,&b20); printf(删除成功!n); printf(经删除后,商品信息:n); printf(-n); printf(商品名 编号 单价 库存数量 进货时间 保质时间 n); for(i=0;i10+k;i+) if(b20!=fi.bianhao) q=i; printf(%s %d %.2
18、f %d %d-%d-%d %d-%d-%d n,fq.name, fq.bianhao,fq.danjia,fq.count,fq.y0,fq.m0,fq.d0,fq.y1,fq.m1,fq.d1); printf(-n); (六) 销售商品:xuanze6()分析:先输入商品编号,在全部商品信息中找到该商品进行删除,然后输出剩余商品信息。流程图如图xuanze6()所示。图7:xuanze6()流程图该模块的具体代码如下所示。void xuanze6() int j,p,b100000,q; float sum=0.0,c100000; printf(请输入所有购买的商品种类数量:); s
19、canf(%d,&q); printf(请输入所选商品编号(如100001)和所购数量(中间用空格空开):); for(j=0;jq;j+) scanf(%d%f,&bj,&cj); printf(您所购商品详细信息:n); printf(-n);printf(商品名 编号 单价 库存数量 进货时间 保质时间 n); for(j=0;jq;j+) for(i=0;i10+k;i+) if(bj=fi.bianhao) p=i; printf(%s %d %.2f %d %d-%d-%d %d-%d-%d n,fp.name, fp.bianhao,fp.danjia,fp.count,fp.y
20、0,fp.m0,fp.d0,fp.y1,fp.m1,fp.d1); sum+=cj*fp.danjia; printf(-n); printf(您所购商品总额为:%.2fn,sum); printf(购买后:n); for(j=0;jq;j+) for(i=0;i10+k;i+) if(bj=fi.bianhao) p=i; fp.count-=cj; printf(%s库存为%dn,fp.name,fp.count); (七) 返回主菜单:xuanze7()分析:先利用清屏命令system(cls)清屏,然后调用函数zhucaidan()输出主菜单。达到返回主菜单目的。该模块的具体代码如下所
21、示。void xuanze7() system(cls);zhucaidan();四、系统测试(一) 测试xuanze1()函数测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。图8(二) 测试xuanze2()函数测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。图9(三) 测试xuanze3()函数测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。图10图11(四) 测试xuanze4()函数测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。图12图13 图14(五) 测试xuanze5()函数测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。图15(六) 测试xuanze6()函数测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。图16(七) 测试xuanze7()函数测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。图17五、总结1.
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2