产品进销存管理系统课程设计报告.docx

上传人:b****5 文档编号:4706521 上传时间:2022-12-07 格式:DOCX 页数:11 大小:45.35KB
下载 相关 举报
产品进销存管理系统课程设计报告.docx_第1页
第1页 / 共11页
产品进销存管理系统课程设计报告.docx_第2页
第2页 / 共11页
产品进销存管理系统课程设计报告.docx_第3页
第3页 / 共11页
产品进销存管理系统课程设计报告.docx_第4页
第4页 / 共11页
产品进销存管理系统课程设计报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

产品进销存管理系统课程设计报告.docx

《产品进销存管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《产品进销存管理系统课程设计报告.docx(11页珍藏版)》请在冰豆网上搜索。

产品进销存管理系统课程设计报告.docx

产品进销存管理系统课程设计报告

一、设计任务一一产品进销存管理系统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存储结构的建立11

5.2定义查询功能11

5.3功能缺失弥补11

六、课设总结11.

七、谢辞10.

八、参考文献10

问题描述:

针对某一种行业的库房的产品进销存情况进行管理。

基本要求:

⑴采用一定的存储结构对库房的货品及其数量进行分类管理;

⑵可以进行产品类的添加、产品的添加、产品数量的添加;

⑶能够查询库房每种产品的总量、进货日期、销出数量、销售时间等。

1、功能需求分析

系统的功能主要有:

管理员操作:

进入系统后,管理员就可以对产品的进货,销售,存货等方面的信息有个详细的了解。

并且可以对产品的类,产品,产品的数量,产品销售信息进行管理,可以添加新的产品信息。

同时对库房每种产品的总量、进货日期、销出数量、销售时间等也可以有详细的了解。

二、功能算法设计

3.2详细算法设计

(1)头文件设计

添加相关头文件即可

(2)intCreate(sqlist&L);

创建数据库系统用于储存产品的相关信息,如每种产品的总量、进货日期、销出数量、销售时间等。

(3)intAdd(sqlist&L);

添加产品的相关信息,如产品类、产品、产品数量、进货日期、销出数量、销售时间等。

(4)voidView(sqlist&L);

查询产品相关信息,比如每种产品的总量、进货日期、销出数量、销售时间等。

(5)voidDisplay(sqlist&L);

对查询到的产品的一些相关信息进行打印输出,从而对我们所需要查的产品的具体情况一目了然。

(6)voidmenu_operation();

对菜单整体情况和布局进行显示,并显示出出它的各项功能:

添加功能,查询功能以及退出菜单。

(7)Voidmain();

编辑主函数,实现对各部分的分工和控制和执行作用

四、代码实现

4.1重要代码

4.1.1相关头文件的编写以及结构体的建立

#include#include#includevstring.h>#include#defineok1

#defineerror0#defineoverflow0

#defineSQMOUTLINK_INIT_SIZE100

#defineSQMOUTLINKINCREMENT10typedefstructdate

{intyear;

intmonth;

intday;}date;

typedefstructproductnode

{charproduct_name[40];〃产品名称

intproduct_quantity;〃产品总量

intsales_quantity;〃销售数量

intproduct_stock;//产品库存

datebuy_time;//进货日期

datesales_time;//销售日期

〃头指针

//商品名称

〃产品种类个数

structproductnode*next;}productnode,*plinklist;typedefstructkindnode{productnode*first_product;

charpkindname[40];

intkind_number;}kindnode;

typedefstruct

{kindnode*kindelem;

intlength;

intlistsize;}sqlist;

4.1.2添加产品信息函数

intAdd(sqlist&L)

{plinklistp,q;intk,j,n;charpkindname[20];printf("请输入添加产品所属的商品类:

\n");

seanf("%s",&pkindname);

for(k=0;k

{if(strcmp((L.kindelem[k]).pkindname,pkindname)==0)

{

printf("请输入所要添加的产品类数量(个):

\n");scanf("%d",&n);

L.kindelem[k].kind_number=L.kindelem[k].kind_number+n;if(L.kindelem[k].first_product==NULL)〃商品下没产品

{q=(plinklist)malloc(sizeof(productnode));

printf("请输入需添加产品的名称:

\n");

scanf("%s",&(q->product_name));

printf("请输入产品总量:

\n");

scanf("%d",&(q->product_quantity));

printf("请输入进货日期(年-月-日):

\n");scanf("%d-%d-%d",&((q->buy_time).year),&((q->buy_time).month),&((q->buy_time).day));

printf("请输入销售数量:

\n");

scanf("%d",&(q->sales_quantity));

printf("请输入销售时间(年-月-日):

\n");scanf("%d-%d-%d",&((q->sales_time).year),&((q->sales_time).month),&((q->sales_time).day));q->product_stock=(q->product_quantity)-(q->sales_quantity);

q->next=NULL;

L.kindelem[k].first_product=q;

p=L.kindelem[k].first_product;

for(j=1;j

{q=(plinklist)malloc(sizeof(productnode));

printf("请输入需添加产品的名称:

\n");

scanf("%s",&(q->product_name));

printf("请输入产品总量:

\n");

scanf("%d",&(q->product_quantity));

printf("请输入进货日期(年-月-日):

\n");

scanf("%d-%d-%d",&((q->buy_time).year),&((q->buy_time).month),&((q->buy_time).day));

printf("请输入销售数量:

\n");

scanf("%d",&(q->sales_quantity));printf("请输入销售时间(年-月-日):

\n");

scanf("%d-%d-%d",&((q->sales_time).year),&((q->sales_time).month),&((q->sales_time).day));q->product_stock=(q->product_quantity)-(q->sales_quantity);q->next=p->next;p->next=q;p=q;

}

}

else//商品下有产品

{

p=L.kindelem[k].first_product;

for(j=0;j

{q=(plinklist)malloc(sizeof(productnode));

printf("请输入需添加产品的名称:

\n");

scanf("%s",&(q->product_name));

printf("请输入产品总量:

\n");

scanf("%d",&(q->product_quantity));

printf("请输入进货日期(年-月-日):

\n");

seanf("%d-%d-%d",&((q->buy_time).year),&((q->buy_time).month),&((q->buy_time).day));printf("请输入销售数量:

\n");

scanf("%d",&(q->sales_quantity));printf("请输入销售时间(年-月-日):

\n");

scanf("%d-%d-%d",&((q->sales_time).year),&((q->sales_time).month),&((q->sales_time).day));q->product_stock=(q->product_quantity)-(q->sales_quantity);

for(p=L.kindelem[k].first_product;(p->next)!

=NULL;p=p->next);

q->next=p->next;p->next=q;p=q;

}

}break;

}

}

if(k>=L.length)//没有该商品类

{strcpy(L.kindelem[k].pkindname,pkindname);

L.length++;

printf("请输入所要添加的产品类数量(个):

\n");scanf("%d",&n);

L.kindelem[k].kind_number=n;

for(j=0;j

{p=(plinklist)malloc(sizeof(productnode));

printf("请输入此产品类所含产品的产品名称:

\n");

scanf("%s",&(p->product_name));

printf("请输入产品总量:

\n");

scanf("%d",&(p->product_quantity));

printf("请输入产品的进货日期(年-月-日):

\n");

scanf("%d-%d-%d",&((p->buy_time).year),&((p->buy_time).month),&((p->buy_time).day));printf("请输入产品的销售数量:

\n");

scanf("%d",&(p->sales_quantity));

printf("请输入产品的销售时间(年-月-日):

\n");

scanf("%d-%d-%d",&((p->sales_time).year),&((p->sales_time).month),&((p->sales_time).day));p->product_stock=(p->product_quantity)-(p->sales_quantity);

L.kindelem[k].first_product=p;p->next=NULL;

}

}returnok;

}

4.1.3查询产品信息函数

voidView(sqlist&L)

{inti,k,order,flag=0;

charpkindname[20],product_name[20];

plinklistp;

printf("请输入待查询产品所商品类:

\n");

scanf("%s",&pkindname);

for(i=0;i

{if(strcmp((L.kindelem[i]).pkindname,pkindname)==0)//找到商品

{intm=0;

printf("输入待查询的产品:

\n");scanf("%s",&product_name);

for(p=L.kindelem[i].first_product;p!

=NULL;p=p->next)//进行产品的匹配{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("请进行选择:

(0-7)\n");scanf("%d",&order);switch(order)

{case1:

printf("*进货日期\t");

printf("%d-%d-%d\n",(p->buy_time).year,(p->buy_time).month,(p->buy_time).day);

printf("・\n");gotoloop;

case2:

printf("*产品总量\t");

printf("%d\n",p->product_quantity);

printf("・\n");gotoloop;

case3:

printf("*销售数量\t");

printf("%d\n",p->sales_quantity);

printf("・\n");gotoloop;

case4:

printf("*销售日期\t");

printf("%d-%d-%d\n",(p->sales_time).year,(p->sales_time).month,(p->sales_time).day);

printf("・\n");gotoloop;

case5:

printf("*产品库存\t");

printf("%d\n",p->product_stock);

printf("\n");gotoloop;

case6:

printf("*查询信息如下:

\n");

printf("\t");

printf("产品的名称\t");

printf("%s\t",p->product_name);

printf("进货日期\t");

printf("%d-%d-%d\n",(p->buy_time).year,(p->buy_time).month,(p->buy_time).day);printf("\t");

printf("产品总量\t");

printf("%d\t",p->product_quantity);

printf("销售数量\t");

printf("%d\n",p->sales_quantity);

printf("\t");

printf("销售日期\t");

printf("%d-%d-%d\n",(p->sales_time).year,(p->sales_time).month,(p->sales_time).day);

printf("\t");

printf("产品库存\t");

printf("%d\t",p->product_stock);gotoloop;

case0:

system("cls");flag=1;break;default:

printf("对不起,你输入有误!

");gotoloop;}break;

}

}

4.1.4主函数

voidmain()

{intorder;

sqlistL;

Init(L);

loop:

menu_operation();

printf("\n");

scanf("%d",&order);

switch(order)

{case1:

system("cls");

Add(L);gotoloop;

case2:

system("cls");

View(L);gotoloop;

case0:

exit(0);

}

}

4.2运行结果

4.2.1系统界面

1——潼a

2-一,查询

0>退缶

4.2.2添加

请司人添加产品所属的商品类’

—V1

声瑜入所要濟II的产品类数量€个〉:

鱷入此产品类所含产品的产品名椒書盖入产品总量;

400

谙输入产品的进货日期t年-月-0>:

K011-11-11

『青瑜入产品的销售数量匚

100

请输入产品的销售时iSk年-月-日):

2011-12-12

菜单

1—》摊加

2—〉査谊

0》退出

4.2.3查询

进货日期

请进彳亍选择'<0-?

>

100

销售数量

请进行选择*<0-7>

请进行选择主

4.2.4退出

1——海口

2——,查询

»—->退田

0

Press良nyk倉丿tocoratinue

五、调试分析

5.1存储结构的建立

认识邻接矩阵存储结构,经过不断地调试,成功完成图创建函数的编辑。

5.2定义查询功能

让用户更快的,更好的查询到产品的相关信息,在做到存储以后马上就能根据提示进行查询

5.3功能缺失弥补

进行整体效果调试,减少一些运行时出现的问题和错误,使其功能效果更加完善。

六、课设总结

要做好一件事,只能一步一步的去做,不可能一下子就完成。

在程序的编写,实现上同样如此。

简单的几个功能,在真正实现、编写代码的过程却发现有很多的问题没有解决。

比如要存储哪些数据,用什么方式存储;用怎么样的结构去保存各种数据等。

并且在最后去演示系统的时候还出来很大的漏洞,不过后来经过修改,终于成功的完成了系统.

要做好一个系统,一个严谨的思维是不可以或缺的,每一个联系都要考虑,每个细节都需要注意,每一种错误都要会解决。

只有把每一种问题都解决了,才能做出一个完善的系统出来。

七、谢辞

本报告是在王英华老师的悉心指导和热情关怀下完成的,同时也感谢给予我帮助的各位同学

八、参考文献

1、严蔚敏,吴伟民•数据结构(C语言版)[M].清华大学出版社2010.3

2、严蔚敏,吴伟民•数据结构(C语言版)[M].清华大学出版社1999.2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1