数据结构家电库存管理系统课程设计报告Word格式文档下载.docx

上传人:b****3 文档编号:13936923 上传时间:2022-10-15 格式:DOCX 页数:37 大小:229.19KB
下载 相关 举报
数据结构家电库存管理系统课程设计报告Word格式文档下载.docx_第1页
第1页 / 共37页
数据结构家电库存管理系统课程设计报告Word格式文档下载.docx_第2页
第2页 / 共37页
数据结构家电库存管理系统课程设计报告Word格式文档下载.docx_第3页
第3页 / 共37页
数据结构家电库存管理系统课程设计报告Word格式文档下载.docx_第4页
第4页 / 共37页
数据结构家电库存管理系统课程设计报告Word格式文档下载.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

数据结构家电库存管理系统课程设计报告Word格式文档下载.docx

《数据结构家电库存管理系统课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构家电库存管理系统课程设计报告Word格式文档下载.docx(37页珍藏版)》请在冰豆网上搜索。

数据结构家电库存管理系统课程设计报告Word格式文档下载.docx

课程名称

数据结构课程设计

专业班级

计科2010-01,02,03,04

地点

计算机基础自主学习中心

起止时间

2011.12.31-2012.1.13

设计内容及要求

以链表结构的有序表表示某商场家电部的库存模型。

当有提货或进货时需要对该链表及时进行维护。

每次退出程序时,将该链表中的数据以文件形式保存在磁盘上,每次启动程序时,需将以文件形式保存的数据恢复成链表结构的有序表。

链表结点的数据域包括:

类别、型号、品牌、重量、单价、数量、生产日期、厂家名称,默认按类别、品牌升序排好序。

程序功能包括:

创建链表、插入、删除、修改、查询、排序等。

设计

参数

测试数据要求:

家电类别(如:

电视机,空调,冰箱等)不少于5种,记录数量不少于500。

进度

要求

2011.12.31完成任务的讲解、并接受课程设计任务,选定课程设计的题目

2012.01.04了解任务的算法、并画出算法的程序流程图,对任务的关键技术进行验证、并确定解决办法

2012.01.05-2012.01.06编制程序

2012.01.09对程序进行调试,设计测试用例进行测试

2012.01.10整理课程设计的过程、并进行总结,完善程序功能

2012.01.11编写课程设计报告初稿

2012.01.12完善课程设计报告、并准备答辨

2012.01.13提交课程设计报告和程序,进行答辨

参考资料

1.严蔚敏吴伟民,数据结构,清华大学出版社,2007.3

2.李春葆,数据结构教程,清华大学出版社,2005.1

3.(美)StephenPrata,CPrimerPlus中文版(第五版),人民邮电出版社,2005.2

其它

说明

1.本表应在每次实施前一周由负责教师填写二份,学院审批后交学院教务办备案,一份由负责教师留用。

2.若填写内容较多可另纸附后。

3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。

系主任:

雷亮指导教师:

向毅/彭军/王双明/龙冯文/黄永文

2011年12月26日

摘要

随着信息技术的飞速发展,人们对信息管理技术要求也越来越高以适应飞速发展的经济。

本次课程设计针对当前的需求,设计一个家电仓库信息的管理系统以方便商家更快捷更有效的对仓库货品的信息进行管理,给商家创造更多的价值!

该系统整体运用了数据结构的知识,它是将货品信息按链表形式来储存的。

将所有的货品分类储存在数据链表的每一个节点中,每个节点也包含了一种类型家电的所有信息。

即是,建一个链表,链表中有许多个节点,节点中储存了不同类型的数据;

这样我们就很容易的将货品信息管理起来了!

该系统进行了精心的规划,有齐全的信息管理功能。

方便用户使用,用户能够很快的找到自己所需要的信息并且有添加、删除、修改、查询、排序、保存等功能提高了用户对信息的管理效率!

 

关键词:

信息数据结构链表管理

1系统需求分析说明书

1.1系统软件界面介绍

1.1系统界面

该系统的软件界面就是以在C++编译后生成的一个系统菜单,菜单有八个选项供用户选择即有创建仓库链表,信息查找等功能!

在菜单下面有供用户选择系统项目的输入指令,当用户输入0-7中的数字后就会实现相应的功能!

如果输入错误后界面会弹出警告让用户重新输入!

1.2系统设计要求

第一,该系统的设计对设计者的要求比较高。

想要设计该系统,必须对C语言知识掌握牢固,以及C++、数据结构知识灵活运用。

例如:

主菜单供客户选择的选择项就需要用到C语言的switch条件语句来实现不同的选择功能。

数据结构中的数据封装也是必不可少的。

1.3系统的设计

系统设计分为几大模块进行设计的。

第一大模块总体规划设计,这部分主要是封装头文件,这里要定义好数据结构体,即要把一类家电信息打包成一个节点类型的数据然后再创建链表数据和指向节点数的节点。

该过程就是数据结构中的抽象数据类型ADT,这样将就轻松的把不同类型数据管理起来了!

头文件也包含了所有子函数的头。

第二大模块是主函数的设计,主函数的功能是要建立一个仓库管理的链表,然后一一实现系统所有的功能即是在不同的情况对子函数的调用。

第三大模块是各个函数功能的实现,该部分是系统的核心部分,在写子函数的时候必须考虑周全;

否则就会出现内存出错的情况系统就会崩溃掉,信息就很可能丢失。

会给用户带来巨大的损失!

该系统设计模块图如图1.2所示:

图1.2系统模块设计

2系统分析与设计

2.1系统分析

系统主要工作流程是从打开系统后进入功能选择,选择不同的选项进行操作后就返回系统首页。

其运行流程图如图2.1所示:

图2.1系统流程图

2.2系统功能分析

系统功能的实现主要是靠各个子函数来实现的。

1)仓库链表的创建:

当用户选择功能号1时,就进行仓库链表的建立。

仓库建立流程图如图2.2所示:

图2.2仓库链表建立

2)仓库货品信息查找:

信息查找流程图如图2.3所示:

图2.3信息查找流程图

3)新增货品信息插入:

新增货品信息插入流程图如图2.4所示:

图2.4信息插入流程图

4)删除已卖出的货品信息:

删除信息流程图如图2.5所示:

图2.5删除信息流程图

5)库存货品信息修改

库存货品信息修改流程图如图2.6所示:

图2.6信息修改流程图

6)信息保存直接选功能号6即可保存到文件。

7)仓库信息读取:

仓库信息读取流程图如图2.7所示:

图2.7信息读取流程图

3代码实现

3.1链表创建函数代码解释

NODE*creatlist()

{NODE*Head;

Head=newNODE;

inti;

intk;

NODE*P1,*Ptr;

P1=(NODE*)malloc(sizeof(NODE));

P1=Head;

cout<

<

"

输入仓库电器种类数:

endl;

cin>

>

k;

printf("

请输入电器类别--型号--商标--重量--单价--编号--日期--厂家\n"

);

for(i=0;

i<

i++)

{Ptr=(NODE*)malloc(sizeof(NODE));

scanf("

%s%s%s%f%lf%s%s%s"

Ptr->

data.leibie,Ptr->

data.xinhao,Ptr->

data.brand,&

Ptr->

data.height,&

data.price,Ptr->

data.no,Ptr->

data.date,Ptr->

data.factory);

P1->

link=Ptr;

P1=Ptr;

link=NULL;

}

returnHead;

这里使用链表创建函数就可以创建一个链表,并储存货品信息!

3.2插入节点函数代码解释

voidInsertNode(NODE*head,NODE*p)

{

NODE*p1,*p2;

p1=head;

p2=p1->

link;

while(p2!

=NULL&

&

strcmp(p2->

data.no,p->

data.no)<

0)

{

p1=p2;

//p1指向刚访问过的结点

p2=p2->

//p2指向表的下一个结点}

p1->

link=p;

//插入p所指向的结点

p->

link=p2;

//连接表中剩余的结点

cout<

插入成功!

}

该函数实现了在仓库链表中插入一个节点的功能!

3.3删除节点函数代码解释

voiddeleteNode(NODE*head)//卖出货品信息删除

{

charx;

NODE*pPre,*pLoc;

pLoc=searchList1(head);

//dataOut=pLoc->

data;

if(pLoc==NULL)

{printf("

没有查到要删除的商品信息!

\n"

return;

if(pLoc!

=NULL)

printf("

真的要删除该商品吗?

(y/n):

x;

if(x=='

y'

||x=='

Y'

{pPre=head;

while((pPre!

=NULL)&

(pPre->

link!

=pLoc))

pPre=pPre->

pPre->

link=pLoc->

free(pLoc);

deletesuccess!

该函数实现了对卖出货品信息的删除!

3.4查找函数代码解释

NODE*searchList(NODE*head)//货品信息查找

{chara;

charb='

'

;

while

(1)

==================\n"

1.查询所有家电信息\n"

2.按商品名称查询\n"

0.退出查找系统\n"

请选择:

\n"

a=getch();

switch(a)

{

case'

0'

:

return0;

break;

1'

list0(head);

2'

list1(head);

default:

printf("

输入错误,请重新输入:

}

该函数用switch语句做成一个多种查找方式的查找函数!

3.5货品信息修改函数代码解释

voidmodify(NODE*head)//库存货品信息修改

intm;

NODE*P;

P=searchList1(head);

请输入要修改的商品信息番号!

if(P==NULL)

{printf("

没有查到要修改的商品信息!

return;

if(P!

=NULL)

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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