仓库管理链表保存c语言实训,c语言课程设计 仓库管理系统(22页)-原创力文档...

PAGE

PAGE 21

?《C语言程序设计》实训报告

?

?

实训题目: 仓库管理系统

专业:

班级:

姓名:

成绩:

一:需求分析

1:问题

该系统所应包含的信息有以下一些:

产品,仓库。

根据需求,该系统所应实现的功能有以下一些:

输入密码进入操作界面

产品入库,产品出库。

查询指定仓库编号的入库记录

查询指定产品编号的入库记录

查询指定入库时间的入库记录

查询指定仓库编号的出库记录

查询指定产品编号的出库记录

查询指定出库时间的出库记录

查询仓库中的产品是否过期

可以在操作过程中修改密码

2、系统

采用C语言实现,开发环境为VC,可以运行在操作系统windows98及以上皆可。

3.运行要求

1)可以进行随便操作,不受限制。

2)界面友好,操作方便,例如在进行产品出入库和查询时有提示操作。

二、总体设计

1、系统流程设计

根据系统要求,设计如下的系统流程

2.系统模块设计如下,有三大基本功能:

1.出库

2.入库

3.查询

仓库管理

仓库管理

产品入库

产品出库

查询指定仓库入库记录

查询指定仓库出库记录

查询指定产品入库记录

查询指定产品出库记录

判断仓库和产品编号是否存在

判断入库日期是否合法

判断入库数量是否大于零

判断字符长度

判断闰年与非闰年

判断每月天数是否合法

判断仓库和产品编号是否存在

判断出库日期是否合法

判断入库数量是否大于零

判断出库数量是否大于零

判断是否小于当前库存量

判断字符长度

判断闰年与非闰年

判断每月天数是否合法

查询指定年月日的出入库查询

修改密码

输入密码

三:总体思路

菜单显示:实现操作某功能时有相应的提示。

功能选择:每一种功能用相应的操作数字相对应。

产品出入库:在原有链表的基础上进行插入操作。

查询记录:调用对应的查询函数来实现。

四:详细设计

1:定义结构体变量

日期:struct warehouse{

int wnum;

char wname[20];

char changename[20];

}wh[5];

产品:

struct product{

int pnum;

char pname[20];

char norms[10];

}pr[10];

链表:

struct manage{

int wnum;

int pnum;

char data[15];

int number;

int operate;

struct manage *next;

};

为了能实现不受限制的产品出入库,采用链表的结构保存产品的信息,在增加产品出入库时,创建一个新的节点,将其插入到链表中,示意图如下。

W

Wnum,pnum,data[15], Number,operate next

Wnum,pnum,

Number,operate next

Wnum,pnum, NULL

Number,operate

2:模块化设计

进入设计:

以输入密码的方式进入,最多可输入三次,如果第三次输入错误,系统将自动退出。这样保证了仓库管理这一程序操作的保密性,保证了仓库管理的安全性。

下一次输入正确的密码进入,先显示出仓库的信息,如下图:

闪动经大约5-8秒后进入主界面。

主界面实现:void screen();/*菜单界面函数*/

模块功能:来清晰的实现人机对话完成不同功能的选择。每完成相应操作都会清空界面。

用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。

产品入库:struct manage *Instore(struct manage *); /*插入入库链表函数*/调用此函数整体实现产品入库。

日期格式合法性:int date(char data[]); /*日期格式是否合法函数*/

模块功能:判断长度是否为十,第五位和第八位是否为‘-’,通过atoi()分离日期字符串保存到日期结构体中调用闰年函数、月份和月份天数的合法性函数。各函数返回1或0来判断成立与否。

闰年判断:int Isleapyear(int ); /*判断是否为闰年函数*/是闰年返回1,否返回0.

月份和天数合法判断:int numday(struct data );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值