C语言库存管理系统Word格式文档下载.docx

上传人:b****7 文档编号:21888796 上传时间:2023-02-01 格式:DOCX 页数:25 大小:276.83KB
下载 相关 举报
C语言库存管理系统Word格式文档下载.docx_第1页
第1页 / 共25页
C语言库存管理系统Word格式文档下载.docx_第2页
第2页 / 共25页
C语言库存管理系统Word格式文档下载.docx_第3页
第3页 / 共25页
C语言库存管理系统Word格式文档下载.docx_第4页
第4页 / 共25页
C语言库存管理系统Word格式文档下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言库存管理系统Word格式文档下载.docx

《C语言库存管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言库存管理系统Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。

C语言库存管理系统Word格式文档下载.docx

4、可以按商品名称模糊查询商品信息

2.系统分析

2.1功能需求

本系统主要是库存商品进行管理的系统。

该系统需要有添加,删除商品信息,查询商品信息,货少提醒等。

2.2数据需求

需要管理的商品信息包括:

商品号、商品名称、商品类别、数量和产地。

2.3性能需求

安全性:

本系统在设计,开发,运行各环节,都贯彻了安全性的原则。

可靠性:

遵循安全性原理,来提高本系统的可靠性。

稳定性:

本系统根据需要可以定义全局变量,可以使用结构体以及链表,来确保本系统的稳定性。

响应速度;

本系统因应用了链表,理论上可以提高查找的速度,整体的响应速度也会得到了提升。

3.总体设计

3.1功能模块设计

根据分析整个系统主要划分为4个模块,分别执行对于功能。

商品信息管理实现商品编号、名称、类别、数量、产地等的查询、添加、修改、删除等功能。

出售和进货管理可对商品在商品有数量变化时,对应变化,当商品数量少于一定数量时,提醒数量不够。

功能模块图如图1所示。

图1功能模块图

(1)商品信息管理子模块

该模块是对商品编号、名称、类别、数量、产地等信息的增加、删除和修改。

(2)出售进货管理子模块

该模块是对商品的出售进货时,数量的随之变化,当数量少于一定数值时,提醒数量不足。

3.2系统设计方案

(1)数据结构设计

typedefstructper

{

charid[10],定义编号

name[10],定义商品名称

leibie[10],定义商品类别

chandi[10];

定义商品产地

intnum;

定义商品数量

structper*next;

}per;

(2)菜单设计

本系统中的菜单有以下几种:

1.一级菜单:

即主菜单。

其中包括:

1.新建;

2.查询;

3.修删;

4.售出或进货;

5.退出。

2.二级菜单

a:

新建菜单:

包括:

1、新建信息库;

2、添加商品;

3、返回。

b:

查询菜单:

1、查看信息库;

2、查找商品号;

c:

修删菜单:

1、修改商品信息;

2、删除商品信息;

3返回。

d:

售出或进货菜单:

包括1、售出;

2、进货;

(3)函数设计

voidmenu();

主菜单

voidxinjian_menu();

新建菜单

voidchaozhao_menu();

查找菜单

voidxiugai_menu();

修删菜单

per*cj();

新建信息库

voidprint(per*head);

输出商品信息

voidchazhao(per*head);

查找商品信息

per*sc(per*head);

删除商品信息

per*charu(per*head);

添加商品信息

per*xiugai(per*head);

修改商品信息

per*dp(per*head);

售出或进货

4.详细设计

4.1商品信息管理模块

(1)添加商品模块

先建立商品信息,定义整型变量i和n以及指针变量p1和p2,在开辟新的结点,使结点为空,输入商品编号,执行n++,当p1->

number不为0时,继续往下输入商品信息否则p2->

next=p1。

继续执行p2=p1,p2->

next=null。

返回后可继续此输入,可循环重复,否则回到主函数。

具体实现程序流程如图2。

图2商品信息添加流程图

(2)删除商品模块

定义整型变量i,指针变量p1和p2,输入商品号i,判断是否有此商品((i,p1->

id)!

=0&

&

p1->

next!

=NULL),如果有,将p2=p1;

p1=p1->

next,在匹配与输入相同的商品,使(i,p1->

id)==0,则删除成功回到主函数。

具体实现程序流程如图3

图3商品信息删除流程图

(3)修改商品模块

定义字符型变量na、整型变量na1、指针变量p1,使p1=head,如果!

Head则信息库为空,否则输入要修改的商品,如果!

P1则商品不存在,否则进入后不修改,按‘-’返回,否则继续输入商品信息然后可按‘-’号结束,返回目录。

具体实现程序流程如图4

图4商品信息修改流程图

4.2商品查询管理模块

建立输出函数,定义指针p,p1,p1=head。

当head等于空,输出“该信息库为空!

!

”,返回主函数。

当head不等于空,输出信息库信息,再判断p->

num<

3,如果是则输出“数量太少请进货”返回主函数。

具体实现程序流程如图3。

图5商品查询流程图

5.调试与测试

5.1调试

调试是系统开发的一个重要的步骤。

调试可分为2个步骤,先是运行编写好程序找到问题,然后再解决并改正问题。

本系统在调试时,发现在判断商品数量提醒时,有时出现错误,在反复查找后发现,在前面没有判断该商品是否存在,在改正后,程序正确运行。

5.2测试

系统测试是系统开发的一个重要阶段,是系统保证质量的关键。

如果在测试中不认真检查,在后期维护过程中将会非常麻烦。

本系统测试数据过程如下。

先进入运行程序

输入“1”,进入新建菜单,再输入“1”进入新建信息库。

请输入用第个1商品信息:

商品号:

1

商品名称:

三星

商品类别:

电子产品

数量:

2

产地:

沈阳

是否继续输入:

(1)是

(2)否输入“2”。

返回到主函数。

输入“2”,进入查看菜单。

再输入“1”,进入查看信息库,屏幕输出

1三星电子产品21沈阳数量太少请进货

返回到主菜单。

输入“4”,进入售出或进货菜单。

输入“2”,按提示输入商品号“1”,按提示依次输入

5

屏幕输出

进货成功!

1三星电子产品21沈阳

输入“5”,进入退出程序。

BYEBYE!

退出程序。

多次运行程序后,发现各个菜单功能都可执行,在输入错误商品号时,给出该商品不存在的提示,因此,该程序无错误可正确执行。

6.结论

本次课程设计,根据任务书要求,实现了添加、修改、删除库存商品信息,商品信息包括:

编号、名称、类别、数量、产地等,进货或售出商品后,相应的库存商品数量应该有所改变,当某种商品库存少于一定数量时,应该提醒进货,可以按商品名称查询商品信息,可满足商场对系统的需求。

但有部分功能还不太完善,如只可新建一次信息库,再次创建时,会将上个信息库覆盖,且不能保存数据。

结束语

通过这次的课程设计实验,让我了解了我的一些方面的不足,也提高了我的学习能力,在通过查找资料来完成实验时,使我的知识更加的丰富,培养了我的学习兴趣。

今后我要更加努力来学习。

参考文献

[1]严蔚敏,吴伟国.数据结构(C语言版).北京:

清华大学出版社,2002.9

[2]潭浩强.C语言程序设计(第三版).北京:

清华大学出版社,2005

附录1-用户手册

(1)首先打开程序,初始页面,如图6。

图6登录界面

输入“1”进入新建菜单,如图7。

图7新建页面

主界面中输入“2”进入查询界面,如图8

图8查询页面

主界面中输入“3”进入订票页面,如图9

图9修改或删除页面

主界面中输入“4”进入订票页面,如图10

图10进货或出售页面

附录2-源程序

主要模块源代码清单:

#include<

stdio.h>

string.h>

malloc.h>

#defineLENsizeof(structper)

#definePRESS_ANYKEYP("

请输入任意键继续……"

);

getchar();

#definePprintf

charid[10],name[10],leibie[10],chandi[10];

voidshou_menu();

voidmenu()

P("

\t\t***************************************\n"

\t\t*库存信息管理系统*\n"

\t\t*1、新建*\n"

\t\t*2、查询*\n"

\t\t*3、修删*\n"

\t\t*4、售出或进货*\n"

\t\t*5、退出*\n"

}

voidxinjian_menu()

\t\t<

<

新建>

>

\n"

\t\t1、新建信息库\n"

\t\t2、添加商品\n"

\t\t3、返回\n"

voidchazhao_menu()

查看>

\t\t1、查看信息库\n"

\t\t2、查找商品号\n"

voidxiugai_menu()

修改或删除>

\t\t1、修改商品信息\n"

\t\t2、删除商品信息\n"

voidshou_menu()

进货或出售>

\t\t1、出售\n"

\t\t2、进货\n"

voidmain()

per*head=NULL;

per*link=head;

registerinti;

do

{

menu();

P("

请输入序号:

"

scanf("

%d"

&

i);

switch(i)

{

case1:

xinjian_menu();

P("

scanf("

switch(i)

{

case1:

link=cj();

continue;

case2:

link=charu(link);

print(link);

PRESS_ANYKEY

continue;

case3:

break;

}continue;

case2:

chazhao_menu();

PRESS_ANYKEY

chazhao(link);

case3:

xiugai_menu();

请输入产品编号:

link=xiugai(link);

link=sc(link);

case4:

link=dp(link);

continue;

case5:

BYEBYE!

PRESS_ANYKEY

}break;

}while

(1);

per*cj()

inti,n=0;

per*p1=head,*p2=head;

p1=(per*)malloc(sizeof(per));

请输入用第个%d商品信息\n"

++n);

%s"

p1->

id);

if(!

strcmp(p1->

id,"

0"

))

break;

name);

leibie);

num);

chandi);

if(n==1)

head=p1;

else

p2->

next=p1;

p2=p1;

p2->

next=NULL;

printf("

(1)是

(2)否\n"

}while(i==1);

returnhead;

per*charu(per*head)

per*p0,*p1;

p1=head;

p0=(per*)malloc(sizeof(per));

p0->

scanf("

p0->

if(!

head)

head=p0;

returnhead;

}

while(p1->

next)

p1=p1->

next;

next=p0;

voidprint(per*head)

per*p;

p=head;

\t\t该信息库为空!

return;

编号\t名称\t类别\t数量\t产地\t提醒\n"

while(p)

%s\t%s\t%s\t%d\t%s\t"

p->

id,p->

name,p->

leibie,p->

num,p->

if(p->

num<

3)

数量太少请进货\n"

p=p->

voidchazhao(per*head)

charj[5];

per*p1;

请输入要查询的名称:

j);

if(p1!

=NULL)

while(p1)

if(strcmp(j,p1->

name)==0)

P("

%s\t%s\t%s\t%d\t%s\t\n"

p1->

id,p1->

name,p1->

leibie,p1->

num,p1->

}

p1=p1->

}

编号\t名称\t类别\t数量\t产地\n"

per*xiugai(per*head)

charna[5];

intna1;

请输入要修改商品号:

na);

(如果不修改,请输入“-”)\n"

while(p1)

strcmp(na,p1->

id))

p1)

\t\t此商品不存在!

if(strcmp(na,"

-"

strcpy(p1->

name,na);

leibie,na);

na1);

p1->

num=na1;

chandi,na);

per*sc(per*head)

chari[5];

per*p1,*p2;

p1=p2=head;

if(head==NULL)

return(head);

请输入要删除序号:

i);

while

(1)

p1=head;

while(strcmp(i,p1->

p2=p1;

if(strcmp(i,p1->

id)==0)

if(p1==head)

head=p1->

elsep2->

next=p1->

\t\t删除成功!

PRESS_ANYKEY;

elseP("

\t\t此产品不存在!

break;

}return(head);

per*dp(per*head)

intyu1,i;

shou_menu();

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

当前位置:首页 > 成人教育 > 远程网络教育

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

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