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

上传人:b****1 文档编号:975032 上传时间:2023-04-30 格式:DOCX 页数:14 大小:73.11KB
下载 相关 举报
产品进销存管理系统课程设计报告.docx_第1页
第1页 / 共14页
产品进销存管理系统课程设计报告.docx_第2页
第2页 / 共14页
产品进销存管理系统课程设计报告.docx_第3页
第3页 / 共14页
产品进销存管理系统课程设计报告.docx_第4页
第4页 / 共14页
产品进销存管理系统课程设计报告.docx_第5页
第5页 / 共14页
产品进销存管理系统课程设计报告.docx_第6页
第6页 / 共14页
产品进销存管理系统课程设计报告.docx_第7页
第7页 / 共14页
产品进销存管理系统课程设计报告.docx_第8页
第8页 / 共14页
产品进销存管理系统课程设计报告.docx_第9页
第9页 / 共14页
产品进销存管理系统课程设计报告.docx_第10页
第10页 / 共14页
产品进销存管理系统课程设计报告.docx_第11页
第11页 / 共14页
产品进销存管理系统课程设计报告.docx_第12页
第12页 / 共14页
产品进销存管理系统课程设计报告.docx_第13页
第13页 / 共14页
产品进销存管理系统课程设计报告.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

 

一、设计任务――产品进销存管理系统

问题描述:

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

基本要求:

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

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

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

二、功能需求分析

系统的功能主要有:

管理员操作:

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

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

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

三、功能算法设计

3.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

#include

#include

#defineok1

#defineerror0

#defineoverflow0

#defineSQMOUTLINK_INIT_SIZE100

#defineSQMOUTLINKINCREMENT10

typedefstructdate

{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");

scanf("%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");

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);

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)//找到产品

{

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系统界面

4.2.2添加

4.2.3查询

4.2.4退出

五、调试分析

5.1存储结构的建立

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

5.2定义查询功能

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

5.3功能缺失弥补

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

六、课设总结

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

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

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

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

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

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

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

七、谢辞

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

八、参考文献

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

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

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

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2