数据结构仓库库存信息管理系统

更新时间:2023-10-01 13:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据结构》课程设计

题目:仓库库存信息管理系统

系 别:计算机信息与技术系 专 业: 班 级: 学 号: 学生姓名: 指导教师:

×××2013年06月

目录

1 需求分析 ......................................................................................... 错误!未定义书签。

1.1问题描述 ......................................................................................................................... 1 1.2 需求分析 ........................................................................................................................ 1

2 概要设计 ..................................................................................................................... 2

2.1 主界面设计...................................................................................................... 2 2.2 存储结构设计 ............................................................................................................... 2 2.3 系统功能设计 ............................................................................................................... 3

3 模块设计 ............................................................................................................................ 4

3.1 系统子程序及功能设计.................................................................................. 4

3.2 系统功能图 .................................................................................................................... 4

4 详细设计 ........................................................................................................................... 5

4.1 数据类型定义.................................................................................................. 5 4.2 系统主要子程序详细设计......................................................................................... 5

5 测试分析 ........................................................................................................................... 7 6 源程序清单 .................................................................................................................. 10 7 工作总结 ........................................................................................................................ 20 参考文献 ................................................................................................................................. 21

1 需求分析

1.1 问题描述

纸质仓库信息已经不能满足仓库管理员的的要求,容易丢失、查找困难等问题是纸质仓库信息所有能克服的缺点。“仓库库存信息管理系统”是为了帮助管理员管理和分析的一种应用程序。仓库信息管理系统的需求分析主要确定系统的主要功能,对系统进行概要描述,分析系统运行时所需的软、硬件环境,并对系统的各个主要功能进行需求描述,目的时使软件在设计过程中尽量符合客户的需要。

1.2 需求分析

问题的提出:

为了完善仓库管理员对仓库的管理,需要设计一个仓库库存信息管理系统。 系统的设计目标: 1)建立库存信息表 2)新物品信息入库 3)查询库存信息记录 4)物品出库信息记录 5)显示库存信息记录 0) 退出管理系统

1

2 概要设计

2.1 主界面设计

当输入相应的操作字符(比如:0-5),通过在主函数中选择并调用对应的子函数程序以及其他函数中的辅助调用,实现并完成各自的功能操作(比如:添加、查找、删除、显示等)。

系统主界面如下:如图2.1所示。

图2.1界面显示

2.2 存储结构设计

依据给定的数据格式,仓库库存信息由三个字段来组成,即物品编码、名称、和数量。

如:

编码| 名称 | 数量 1 硫酸 1

通过C语言把库存物品信息用单链表形式连接,源程序要有适当的注释,使程序易于阅读,进行储存。同时进行各种修改,完成仓库库存信息管理等功能。

2

2.3 系统功能设计

依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的插入、添加、删除以及数据的显示等功能模块。 (1)输入函数功能:通过输入各项数据给数据元素,来建立一个数据表。 (2)显示函数功能:输出表中所有结点的信息。

(3)查找函数功能:按照指定关键字,对相应仓库物品信息进行查找。 (4)删除函数功能:查找到要删除物品的相应信息,并将其从表中永久的删除。 (5)主函数功能:调用以上子函数,并用开关语句进行选择性的调用。

3

3 模块设计

3.1 系统子程序及功能设计

LinkList creatLink() 增加信息 void printList(LinkList L) 输出信息

void Listdel(LinkList L,int i) 删除表 void searchnum(LinkList L,int n) 用编码查询物品信息 void searchnum(LinkList L,int n) 用数量查询物品信息

3.2 系统功能图

系统功能图如图3.1所示。

仓库库存信息管理系统 建立信息表 插入库存信息 查询库存信息 删除库存信息 显示库存信息 退出管理系统

图3.1系统功能

4

4 详细设计

4.1 数据类型定义

结构体定义:

typedef struct xc {

int num;//物品编码 char name[20];//物品名称 int xcnum;//物品数量 struct node *next; }node ,*LinkList;

4.2 系统主要子程序详细设计

1.主函数:主要由switch语句组成,便于函数调用:

记录*/

{

system(\ /* 显示记录 */ 2.主页面函数; int main() {

switch(choose) {

case 1: LinkList creatLink;break; /* 建立 case 2:void printList; break; /*插入库存信息

库存信息表 */

case 3:void searchnum;break; /* 查询记录 */ case 4: void Listdel; break; /* 删除记录 */ case 5: int main()

system(\ system(\

5

\\n\

\\n\

LinkList L=NULL;

printf(\ *欢迎使用仓库库存信息管理系统*

printf(\ printf(\ * 1 建立库存信息表 \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\ \\n\

printf(\

printf(\

printf(\请选择0-5:\

* 2 新物品信息入库 * 3 查询库存信息记录 * 4 物品出库信息记录

* 5 显示库存信息

* 0 退出管理系统 *欢迎使用仓库库存信息管理系统* 请选择操作:\\n\6

5 测试分析

各功能的运行结果:

1)建立信息表:在主菜单中选择1,进入建立库存信息表。如图5.1所示。

图5.1建立信息表

2)插入信息:选择2,进行插入信息。如图5.2所示。

图5.2 插入信息

7

3)查询信息:选择3, 进行查询信息。如图5.3所示。

图5.3查询信息

4)删除和显示当前库存信息:选择4、5,进行删除和显示当前信息。如图5.4所示。

图5.4删除和显示当前库存信息

8

{ if(!strcmp(p->name,n)) { flag=1; //printf(\查找的是第%d个商品:\\n\ printf(\ Name:%s Num:%d\\n\ }

p=p->next;//seat++; } }

return flag; }

int searchCode(LinkList L,int n) //利用物品的Code查找表中的元素 {

int flag=0;

LinkList p=L->next; seat=1;

if(L->next==NULL) printf(\该链表中没有元素\\n\ else { while(p!=NULL) { if(p->code<=n) if(p->code==n) { flag=1; printf(\查找的是第%d个商品:\\n\ printf(\ Name:%s Num:%d \\n\ } p=p->next;seat++; } }

return flag; }

int main() //页面显示函数 {

system(\ //清屏函数 system(\ LinkList L=NULL;

14

printf(\ ************欢迎使用仓库库存信息管理系统**************\\n\ printf(\

printf(\ * 1 建立库存信息表 *\\n\

printf(\

printf(\ * 2 新物品信息入库 *\\n\

printf(\

printf(\ * 3 查询库存信息记录 *\\n\

printf(\

printf(\ * 4 物品出库信息记录 *\\n\

printf(\

printf(\ * 5 显示库存信息 *\\n\

printf(\

printf(\ * 0 退出管理系统 *\\n\

printf(\

printf(\ *************欢迎使用仓库库存信息管理系统**************\\n\ printf(\

printf(\ 请选择操作: \ printf(\

int flag=0; int menu;

printf(\请选择0-5: \ scanf(\ while(menu!=0) { switch(menu) { case 1: {L=creatLink(); printf(\建立库存信息表:\ printList(L); flag=1; printf(\ 10秒后跳转到主页...\\n\ Sleep(10000);

15

break; } case 2: { if(flag==1) {int code,num; char name[20];

printf(\请输入物品编号、物品名称和物品数量:\\n\ printf(\请输入物品编号:\ scanf(\

printf(\请输入物品名称:\ char temp=getchar(); gets(name); printf(\请输入物品数量:\ scanf(\ LinkList p=(LinkList)malloc(sizeof(node)); p->code=code; p->num=num; strcpy(p->name,name); insert(L,p); printf(\插入后:\ printList(L); printf(\ 5秒后跳转到主页...\\n\ Sleep(5000); } break; } case 3: { int way,n,s; char name[20]; if(L!=NULL) { if(flag) { printf(\选择查找方式:\\n\ printf(\ 1.按物品编号 2.按物品名称\ printf(\选择[_]\\b\\b\ scanf(\ if(way==1) { printf(\请输入物品编号:\

16

scanf(\ s=searchCode(L,n); if(s==0) printf(\无此商品!\\n\ } else if(way==2) { printf(\请输入物品名称:\ char temp=getchar(); gets(name); s=searchName(L,name); if(s==0) printf(\无此商品!\\n\ } else printf(\无库存!\\n\ } break; } else printf(\无库存!\\n\ printf(\ 5秒后跳转到主页...\\n\ Sleep(5000); break; } case 4: { int way; printf(\选择删除方式:\\n\ printf(\ 1.按序号 2.按物品编号 3.按物品名称 scanf(\ if(way==1) { int n; printf(\请输入序号:\ scanf(\ printf(\删除后:\\n\ delElem(L,n); printList(L); } else if(way==2)

17

\\n\

{ int n,f; printf(\请输入物品编号:\ scanf(\ f=delNum(L,n); if(f!=0) { printf(\删除后:\\n\ printList(L); } else printf(\无该商品!\\n\ } else if(way==3) { char name[20]; int f; printf(\请输入物品名称:\ char temp=getchar(); gets(name); f=delName(L,name); if(f!=0) { printf(\删除后:\\n\ printList(L); } else printf(\无该商品!\\n\ } else printf(\ printf(\ 5秒后跳转到主页...\\n\ Sleep(5000); break; } case 5: { printf(\当前库存信息如下:\\n\ printList(L); printf(\ 5秒后跳转到主页...\\n\ Sleep(5000);

18

break; } case 0: { exit (0);

printf(\ ************欢迎使用仓库库存信息管理系统***************\\n\ printf(\

printf(\ *\\n\

printf(\

printf(\ *\\n\

printf(\

printf(\ *\\n\

printf(\

printf(\ *\\n\

printf(\

printf(\ *\\n\

printf(\

printf(\ *\\n\

printf(\

printf(\ **************\\n\ printf(\

printf(\ printf(\

printf(\ scanf(\ }

return 0; }

* 1 建立库存信息表 * 2 新物品信息入库 * 3 查询库存信息记录 * 4 物品出库信息记录 * 5 显示库存信息 * 0 退出管理系统*************欢迎使用仓库库存信息管理系统 请选择操作: \****感谢您的使用^@^****\\n\\n\19

7 工作总结

这次课程设计对我而言可以说是毕业设计的一个预演,。虽然一开始感觉特别难,无从下手,后来经过老师的讲解、同学的帮助,加上自己的学习,终于小有成效,做了一个很简单的仓库库存信息管理系统。

虽然做的效果不怎么样,但这是我亲手做的,同时对书本所学的相关知识有了更深的理解。实验中出现的问题,通过上网查资料、问老师同学都已基本解决。通过这次课程设计也是我的计算机操作水平提高了不少。总之,这次课程设计让我获益匪浅。

20

参考文献

[1] 严蔚敏,吴伟民.《 数据结构(C语言版)》[M]. 北京:清华大学出版社,2004.

[2].谭浩强. 《C语言程序设计》[M]. 北京. 清华大学出版社.2003.

[3] 史济民、顾春华, 软件工程——原理、方法与应用[M]. 北京:高等教育出版社,2004;

21

本文来源:https://www.bwwdw.com/article/bbvd.html

Top