数据结构 课程设计 库存管理系统Word格式.docx

上传人:b****2 文档编号:398794 上传时间:2023-04-28 格式:DOCX 页数:18 大小:187.80KB
下载 相关 举报
数据结构 课程设计 库存管理系统Word格式.docx_第1页
第1页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第2页
第2页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第3页
第3页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第4页
第4页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第5页
第5页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第6页
第6页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第7页
第7页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第8页
第8页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第9页
第9页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第10页
第10页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第11页
第11页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第12页
第12页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第13页
第13页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第14页
第14页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第15页
第15页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第16页
第16页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第17页
第17页 / 共18页
数据结构 课程设计 库存管理系统Word格式.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据结构 课程设计 库存管理系统Word格式.docx

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

数据结构 课程设计 库存管理系统Word格式.docx

1)问题描述

试设计一库存管理系统,产品信息包括产品编号、名称、价格、数量等(产品编号不重复)。

2)基本要求

该系统应具有以下功能:

1、产品信息录入功能(产品信息用文件保存)--输入?

2、产品信息浏览功能--输出?

3、产品入库

4、产品出库

5、查询和排序功能:

1)按价格从大到小排序

2)按名称查询

6、产品信息删除、修改功能。

一、设计目的

二、设计要求

(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;

(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;

凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。

凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;

(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;

(4)认真编写课程设计报告。

三、设计内容

(1)需求分析

程序的功能、输入输出的要求

1、从文件中加载数据;

2、增加一个产品的信息;

3、保存数据;

4、显示所有产品的信息;

5、删除某个产品的信息;

6、用名称查找某个产品的信息;

7、用编号查找某个产品的信息;

8、退出。

(2)问题求解

首先,定义一个包含产品的编号、名称、价格、数量等的输入产品信息类(classProvider),紧接着,定义一个输入产品信息函数(voidinput()),输入定义好的类中的数据成员。

接着定义产品输出的函数(voidoutput())。

这部分是产品输入输出。

定义节点类(classNode),节点类中包含一个指向节点(Node)的指针变量(next)和节点成员函数。

定义产品信息的目录类(classList),有成员函数两个,一个List成员函数、一个增加产品信息的成员函数(voidaddNode())。

定义一个显示产品的信息的函数(voidXSNode()),用它来输入产品的信息。

定义查询函数(voidqueryNode1(char*TName)、voidqueryNode2(char*TID))

分别用指向编号和名称的地址来查询。

还有定义删除和储存产品信息的函数(voiddelNode(char*TName)和voidsaveList())。

(3)总体设计

程序设计组成框图(如下):

流程图(如下):

(4)详细设计

函数功能

1、voidinput()通过函数输入产品信息

2、voidoutput()通过函数输出产品信息

3、Node()通过函数使指针指向下个地址

4、List()通过函数使指针指向首地址

5、voidaddNode()通过函数添加产品信息

6、voidXSNode()通过函数显示产品所有信息

7、voidqueryNode1(char*TName)通过函数查询产品信息

8、voidqueryNode2(char*TName)同上

9、voiddelNode(char*TName)通过函数删除产品信息

10、voidsaveList()通过函数储存产品信息

11、ofs.open("

data.txt"

);

通过函数输出文本文件

12、ifs.open("

通过函数输入文本文件

13、~List()通数过定义析构函数,释放空间

14、intmain()通过主函数调用其他函数;

(5)关键源程序清单

清单中应有足够的注释问题描述和功能设计。

源程序:

#include<

iostream>

fstream>

string>

#defineNULL0

usingnamespacestd;

classProvider//定义输入产品的信息的类

{

public:

charID[10];

//定义编号

charName[10];

charValues[10];

charNum[10];

voidinput()//定义输入产品信息函数

{

cout<

<

"

请输入产品的信息:

endl;

ID号:

;

cin>

>

ID;

名称:

Name;

价格:

Values;

数量:

Num;

}

voidoutput()//定函数义输出信息

产品的信息显示如下:

ID号:

ID<

名称:

Name<

价格:

Values<

数量:

Num<

};

//*******************************************************************

classNode//定义节点

Providerdata;

Node*next;

//定义next为指向Node类对象的指针变量

Node()

{next=NULL;

}

classList//定义产品信息目录类

Node*start;

List()

{start=NULL;

voidaddNode()//添加一个产品的信息

Node*p;

p=newNode();

//链表

p->

data.input();

next=start;

start=p;

voidXSNode()//显示所有产品的信息

for(p=start;

p!

=NULL;

p=p->

next)

p->

data.output();

//********************************************************************

voidqueryNode1(char*TName)//利用名称查询产品信息

{

if(strcmp(p->

data.Name,TName)==0)

{

cout<

p->

data.ID<

data.Name<

价格"

data.Values<

data.Num<

return;

}

}

没找到你要的产品"

//*****************************************************************

voidqueryNode2(char*TID)//利用编号查询产品信息

data.ID,TID)==0)

voiddelNode(char*TName)//删除产品信息

Node*p,*c;

for(p=start,c=start;

c!

c=c->

if(strcmp(TName,c->

data.Name)==0)

p->

next=c->

next;

if(start==c)

{

start=c->

}

deletec;

删除已成功!

p=c;

没找到你要删除的产品"

voidsaveList()//储存产品信息

ofstreamofs;

ofs.open("

ofs<

"

ofs.close();

voidinitList()

ifstreamifs;

ifs.open("

while(!

ifs.eof())

Node*p;

p=newNode();

ifs>

data.ID;

data.Name;

data.Values;

data.Num;

start=p;

ifs.close();

p=start;

start=start->

deletep;

~List()//定义析构函数,释放空间

Node*c;

for(c=start;

c=c->

deletep;

//*************************************************************8

intmain()

Listp1;

charch;

chartmpstr[50];

while(true)

***********************************"

1、产品入库信息;

2、保存产品信息;

3、显示产品信息;

4、产品出库信息;

5、用名称查找产品信息;

6、用编号查找产品信息;

0、退出;

请选择:

ch;

switch(ch)

case'

1'

:

p1.addNode();

break;

2'

p1.saveList();

3'

p1.XSNode();

4'

cout<

请输入出库产品的名称:

cin>

tmpstr;

p1.delNode(tmpstr);

5'

请输入你要查找的产品的名称:

p1.queryNode1(tmpstr);

6'

请输入你要查找的产品的编号:

p1.queryNode2(tmpstr);

0'

return0;

default:

选择错误,请再次选择"

return0;

(6)执行结果:

四、参考文献

[1]《数据结构》.王红梅.清华大学出版社

[2]《数据结构学习辅导与实验指导》.王红梅.清华大学出版社

[3]《C++程序设计》.钱能.清华大学出版社

[4]《C++程序设计试验指导》.钱能.清华大学出版社

[5]《C++程序设计》.谭浩强.清华大学出版社

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

当前位置:首页 > 法律文书 > 调解书

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

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