1、产品进销存管理系统课程设计报告一、 设计任务一一产品进销存管理系统 2.二、 功能需求分析 2.三、 功能算法设计 2.3.1各功能函数关系图 2.3.2详细算法设计 3.四、 代码实现 .4.4.1重要代码 4.4.1.1相关头文件的编写以及结构体的建立 4.4.1.2添加产品信息函数 .4.4.1.3查询产品信息函数 .6.4.1.4主函数 8.4.2运行结果 .9.4.2.1系统界面 9.4.2.2 添加 8.4.2.3 查询 9.4.2.4 退出 10五、 调试分析 11.5.1存储结构的建立 115.2定义查询功能 115.3功能缺失弥补 11六、 课设总结 11.七、 谢辞 10.
2、八、 参考文献 10问题描述:针对某一种行业的库房的产品进销存情况进行管理。基本要求:采用一定的存储结构对库房的货品及其数量进行分类管理;可以进行产品类的添加、产品的添加、产品数量的添加;能够查询库房每种产品的总量、进货日期、销出数量、销售时间等。1、功能需求分析系统的功能主要有:管理员操作:进入系统后,管理员就可以对产品的进货,销 售,存货等方面的信息有个详细的了解。并且可以对产品的类,产品,产品的数 量,产品销售信息进行管理,可以添加新的产品信息。同时对库房每种产品的总 量、进货日期、销出数量、销售时间等也可以有详细的了解。二、功能算法设计3.2详细算法设计(1) 头文件设计添加相关头文件
3、即可(2) int Create(sqlist &L);创建数据库系统用于储存产品的相关信息,如每种产品的总量、进货日期、销出 数量、销售时间等。(3) int Add(sqlist &L);添加产品的相关信息,如产品类、产品、产品数量、进货日期、销出数量、销售 时间等。(4) void View(sqlist &L);查询产品相关信息,比如每种产品的总量、进货日期、销出数量、销售时间等。(5) void Display(sqlist &L);对查询到的产品的一些相关信息进行打印输出,从而对我们所需要查的产品的具 体情况一目了然。(6) void menu_operation();对菜单整体情
4、况和布局进行显示,并显示出出它的各项功能:添加功能,查询功 能以及退出菜单。(7) Void main();编辑主函数,实现对各部分的分工和控制和执行作用四、代码实现4.1重要代码4.1.1相关头文件的编写以及结构体的建立#in clude #in clude #i ncludevstri ng.h #in clude #defi ne ok 1#defi ne error 0 #defi ne overflow 0#defi ne SQMOUTLINK_INIT_SIZE 100#defi ne SQMOUTLINKINCREMENT 10 typedef struct date int y
5、ear;int mon th;int day;date;typedef struct product nodechar product_name40; 产品名称int product_qua ntity; 产品总量int sales_qua ntity; 销售数量int product_stock; / 产品库存date buy_time; / 进货日期date sales_time; / 销售日期头指针/商品名称产品种类个数struct product node *n ext; product no de,*pli nklist; typedef struct kindnode produc
6、t node * first_product;char pkindname40;int kind_nu mber; kindno de;typedef struct kindno de* kin delem;in t le ngth;in t listsize;sqlist;4.1.2添加产品信息函数int Add(sqlist &L) pli nklist p,q; int k,j, n; char pkindn ame20; printf(请输入添加产品所属的商品类:n);sea nf(%s,&pkindn ame);for(k=0;kproduct_ name);printf(请输入产品
7、总量:n);scan f(%d,&( q-product_qua ntity);printf( 请输入进货日期(年-月-日):n); sca nf(%d-%d-%d,&(q-buy_time).year),&(q-buy_time).mo nth),&(q-buy_time).day);printf(请输入销售数量:n);scan f(%d,&(q-sales_qua ntity);printf( 请输入销售时间(年-月-日):n); sca nf(%d-%d-%d,&(q-sales_time).year),&(q-sales_time).m on th),&(q-sales_time).d
8、ay); q-product_stock=(q-product_qua ntity)-(q-sales_qua ntity);q-n ext=NULL;L.k in delemk.first_product=q;p=L.k in delemk.first_product;for(j=1;jproduct_ name);printf(请输入产品总量:n);sca nf(%d,&( q-product_qua ntity);prin tf( 请输入进货日期(年-月-日):n);sca nf(%d-%d-%d,&(q-buy_time).year),&(q-buy_time).mo nth),&(q
9、-buy_time).day);printf(请输入销售数量:n);sca nf(%d,&(q-sales_qua ntity); printf( 请输入销售时间(年-月-日):n);sca nf(%d-%d-%d,&(q-sales_time).year),&(q-sales_time).m on th),&(q-sales_time).day); q-product_stock=(q-product_qua ntity)-(q-sales_qua ntity); q-n ext=p-n ext; p-n ext=q; p=q;else/商品下有产品p=L.k in delemk.first
10、_product;for(j=0;j product_ name);printf(请输入产品总量:n);sca nf(%d,&( q-product_qua ntity);printf(请输入进货日期(年-月-日):n);sea nf(%d-%d-%d,&(q-buy_time).year),&(q-buy_time).mo nth),&(q-buy_time).day); printf(请输入销售数量:n);sca nf(%d,&(q-sales_qua ntity); printf( 请输入销售时间(年-月-日):n);sca nf(%d-%d-%d,&(q-sales_time).yea
11、r),&(q-sales_time).m on th),&(q-sales_time).day); q-product_stock=(q-product_qua ntity)-(q-sales_qua ntity);for(p=L.ki ndelemk.first_product;(p-n ext)!=NULL;p=p-n ext);q-n ext=p-n ext; p-n ext=q;p=q; break;if(k=L.length)/没有该商品类strcpy(L.k in delemk.pk indn ame,pk indn ame);L.len gth+;printf(请输入所要添加的产
12、品类数量(个):n); scanf(%d,&n);L.ki ndelemk.ki nd_nu mber= n;for(j=0;j product_ name);printf(请输入产品总量:n);scan f(%d,&( p-product_qua ntity);printf(请输入产品的进货日期(年-月-日):n);scan f(%d-%d-%d,&(p-buy_time).year),&( (p-buy_time).mo nth),&( (p-buy_time).day); printf(请输入产品的销售数量:n);scan f(%d,&(p-sales_qua ntity);printf
13、(请输入产品的销售时间(年-月-日):n);sca nf(%d-%d-%d,&(p-sales_time).year),&(p-sales_time).m on th),&(p-sales_time).day); p-product_stock=(p-product_qua ntity)-(p-sales_qua ntity);L.k in delemk.first_product=p;p-n ext=NULL; return ok;4.1.3查询产品信息函数void View(sqlist &L)int i,k,order,flag=0;char pkindn ame20,product_
14、name20;pli nklist p;printf(请输入待查询产品所商品类:n);sca nf(%s,&pkindn ame);for(i=0;inext)/ 进行产品的匹配 m+;if(strcmp(p-product_ name,product_ name)=0)/找 至 U产品 一 一printf(查询选项:n);printf(t1-进货日期 n);printf(t2-产品总量 n);printf(t3-销售数量 n);printf(t4-销售日期n);printf(t5-产品库存 n);printf(t6-全部信息 n); printf(t0-返回 n);loop:printf(请
15、进行选择:(0-7)n); scan f(%d,&order); switch(order) case1:printf(*进货日期 t);prin tf(%d-%d-%dn,(p-buy_time).year,(p-buy_time).m on th,(p-buy_time).day);prin tf( n );goto loop;case 2: printf(* 产品总量 t);prin tf(%dn,p-product_qua ntity);prin tf( n );goto loop;case 3: printf(* 销售数量 t);prin tf(%dn,p-sales_qua nti
16、ty);prin tf( n );goto loop;case 4: prin tf(* 销 售 日 期 t);prin tf(%d-%d-%dn,(p-sales_time).year,(p-sales_time).m on th,(p-sales_time).day);prin tf( n );goto loop;case 5: prin tf(* 产品库存 t);prin tf(%dn,p-product_stock);prin tf( n );goto loop;case 6: printf(* 查询信息如下:n);prin tf(t);printf(产品的名称t);prin tf(%
17、st,p-product_ name);printf(进货日期 t);prin tf(%d-%d-%dn,(p-buy_time).year,(p-buy_time).m on th,(p-buy_time).day); prin tf(t);printf(产品总量 t);prin tf(%dt,p-product_qua ntity);printf(销售数量 t);prin tf(%dn,p-sales_qua ntity);prin tf(t);printf(销售日期 t);prin tf(%d-%d-%dn,(p-sales_time).year,(p-sales_time).m on
18、th,(p-sales_time).day);prin tf(t);printf(产品库存 t);prin tf(%dt,p-product_stock);goto loop;case 0: system(cls);flag=1; break; default: printf(对不起,你输入有误! );goto loop; break;4.1.4主函数void mai n()int order;sqlist L;In it(L);loop:menu _operati on();prin tf( n);scan f(%d,&order);switch(order) case 1:system(c
19、ls);Add(L); goto loop;case 2:system(cls);View(L); goto loop;case 0: exit(0);4.2运行结果4.2.1系统界面1 潼a2- 一,查询0 退缶4.2.2添加请司人添加产品所属的商品类V1声瑜入所要濟II的产品类数量个: 鱷入此产品类所含产品的产品名椒 書盖入产品总量;400谙输入产品的进货日期t年-月- 0 :K011-11-11青瑜入产品的销售数量匚100请输入产品的销售时iSk年-月-日):2011-12-12菜单1 摊加2 査谊0 退出4.2.3查询进货日期请进彳亍选择100销售数量请进行选择* 请进行选择主4.2.
20、4退出1 海口2 ,查询-退田0Press 良ny k倉丿 to coratinue五、调试分析5.1存储结构的建立认识邻接矩阵存储结构,经过不断地调试,成功完成图创建函数的编辑。5.2定义查询功能让用户更快的,更好的查询到产品的相关信息,在做到存储以后马上就能根据提示进行查询5.3功能缺失弥补进行整体效果调试,减少一些运行时出现的问题和错误,使其功能效果更加完善。六、课设总结要做好一件事,只能一步一步的去做,不可能一下子就完成。在程序的编写,实现上同样 如此。简单的几个功能,在真正实现、编写代码的过程却发现有很多的问题没有解决。比如要 存储哪些数据,用什么方式存储;用怎么样的结构去保存各种数据等。并且在最后去演示系统 的时候还出来很大的漏洞,不过后来经过修改,终于成功的完成了系统.要做好一个系统,一个严谨的思维是不可以或缺的,每一个联系都要考虑,每个细节都需 要注意,每一种错误都要会解决。只有把每一种问题都解决了,才能做出一个完善的系统出来。七、谢辞本报告是在王英华老师的悉心指导和热情关怀下完成的,同时也感谢给予我帮助的各位同学八、参考文献1、 严蔚敏,吴伟民数据结构(C语言版) M.清华大学出版社2 0 10.32、 严蔚敏,吴伟民数据结构(C语言版) M.清华大学出版社1 9 9 9.2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1