《数据结构》课程设计报告-商品货架管理系统 (1)文档格式.doc
- 文档编号:3630511
- 上传时间:2023-05-02
- 格式:DOC
- 页数:19
- 大小:159.50KB
《数据结构》课程设计报告-商品货架管理系统 (1)文档格式.doc
《《数据结构》课程设计报告-商品货架管理系统 (1)文档格式.doc》由会员分享,可在线阅读,更多相关《《数据结构》课程设计报告-商品货架管理系统 (1)文档格式.doc(19页珍藏版)》请在冰点文库上搜索。
二、 问题描述 3
三、 需求分析 3
四、 概要设计 3
五、 详细设计 4
六、 测试分析 7
七、 使用说明 9
八、 测试数据 10
九、 源程序清单 10
十、 模块说明 19
一.课程设计目的
通过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。
二.问题描述
设计、实现一个商品货架管理系统,实现商品出售,增加,查询(按商品代号,商品名字,生产日期),修改,输出过期商品,输出小于多少数量的商品。
三.需求分析
printf("
\t\t******************************************\n"
);
printf("
\t\t-----------1.建立目前商品信息--------\n"
\t\t-----------2.添加商品--------\n"
\t\t-----------3.出售商品--------\n"
\t\t-----------4.查询商品--------\n"
\t\t-----------5.修改商品--------\n"
\t\t-----------6.显示所有商品信息--------\n"
\t\t-----------0.退出系统--------\n"
\t\t******************************************\n\n"
按序号依次实现功能。
四.概要设计
·
4.1 系统用到的抽象数据类型定义:
1、//定义结构体
typedefstructnode
{
intn;
//商品代号
charname[20];
//商品名称
intdate;
//生产日期
intvalidity;
//保质期(天)
intnum;
//商品数量
structnode*next;
}LiStack,*sqstack;
基本操作:
五、详细设计
//输出所有商品p的名字、生产日期、保质期。
voidprint(sqstackp)
sqstackL=(LiStack*)malloc(sizeof(LiStack));
L=p->
next;
if
else
}
//增加商品
sqstackpush(LiStack*top)
//创建一个存放商品信息的栈
sqstackcreat()
{
//出售商品
sqstackpop(LiStack*top)
//按序号查找商品
voidSequenceNumberF(LiStack*top)
//按商品名字查询商品
voidNameF(LiStack*top)
//按商品生产日期查找商品
voidProductionDateF(LiStack*top)
//按商品数量查找商品,查找小于该数量的商品
voidNumberF(LiStack*top)
//date加validity,并返回date,到期时间。
intDateF(intdate,intvalidity)
//查询过期商品信息
voidOverdueF(LiStack*top)
//查询商品
voidfind(LiStack*top)
//修改商品
sqstackupdate(LiStack*top)
voidmain()
LiStack*top;
chari,j;
top=(LiStack*)malloc(sizeof(LiStack));
top->
next=NULL;
printf("
\n\n\t\t------------欢迎使用商品货架管理系统------------\n"
while
(1){
\t\t\t请输入您的操作:
"
scanf("
%s"
&
i);
%c"
j);
\n\n"
if(i=='
0'
){
printf("
\t\t\t退出成功,欢迎下次使用!
\n"
break;
}else{
switch(i)
{
case'
1'
:
top=creat();
break;
2'
top=push(top);
3'
top=pop(top);
4'
find(top);
5'
top=update(top);
6'
print(top);
default:
\t\t\t输入错误,请选择正确的功能\n"
}
}
}
六.测试分析
按照附录中的测试数据,得出如下测试、分析结果:
1、新建商品信息。
a/b/c/d
2、增加商品。
f。
3、出售商品代号3,商品名称c,50个。
4、出售商品代号2,商品名称b,200个。
5、查询,按序号查询,输入1.
6、查询,按商品名称查询,输入b。
7、查询,按生产日期查询,输入.
8、查询,输入小于数量200的商品。
9、查询,输出时过期的商品。
10、修改商品。
修改商品代号为4的商品。
11、输出货架上的所有商品。
12、退出系统。
七.使用说明
1、建立目前商品信息。
输入1,‘-1’表示结束。
按照提示依次输入商品代号、商品名称、生产日期、保质期、数量。
2、添加商品。
输入2,依次输入商品代号、商品名称、生产日期、保质期、数量。
3、出售商品。
输入3,显示所有商品,选择要出售的商品代号、数量,如果出售的数量小于等于该商品有的数量则显示出售成功。
否则显示出售失败。
4、查询商品。
输入4,选择1、2、3则按商品代号、名称、生产日期查询商品,选择4、5,则分别输出小于该数值的商品,输出过期商品。
5、修改商品信息。
输入5,输入修改商品代号,按照提示输入商品名称、生产日期,保质期,数量。
6、输入所有商品信息。
输入6,显示所有商品信息。
7、退出系统。
输入0,退出系统。
八.测试数据
如,测分析六
九.源程序清单
#include<
stdio.h>
stdlib.h>
string.h>
//定义结构体
if(L==NULL)
货架为空。
{
代号\t商品名称\t生产日期\t\t保质期(天)\t\t数量(个)\n"
while(L!
=NULL)
{
%d"
L->
n);
\t%s\t\t"
name);
%d\t\t"
date);
validity);
%d\t\t\n"
num);
p=L;
L=p->
\t***************************************\n"
}
intvalidity,num,n;
LiStack*temp=(LiStack*)malloc(sizeof(LiStack));
\t\t\t-----欢迎进入商品添加界面!
-----\n"
temp=(LiStack*)malloc(sizeof(LiStack));
\t增加商品的代号是:
scanf("
\t增加的商品名称是:
name);
\t生产日期(年月日,如:
)是:
\t保质期(天)是:
\t数量(个):
temp->
date=date;
strcpy(temp->
name,name);
num=num;
temp->
validity=validity;
n=n;
if(top->
next==NULL)
temp->
top->
next=temp;
next=top->
\t商品添加成功!
return(top);
intn,validity,num;
LiStack*p;
LiStack*top=(LiStack*)malloc(sizeof(LiStack));
top->
while
(1)
\t请输入商品代号(int),代号为'
-1'
表示输入结束:
scanf("
if(n<
0)break;
else
printf("
\t请输入%d号——商品名称:
n);
scanf("
printf("
\t请输入%d号——生产日期(年月日,如):
\t请输入%d号——保质期(天):
\t请输入%d号——数量(个):
scanf("
p=(LiStack*)malloc(sizeof(LiStack));
p->
strcpy(p->
p->
p->
if(top->
next==NULL)
p->
top->
next=p;
else
top->
return(top);
intn,num;
LiStack*p,*L;
p=(LiStack*)malloc(sizeof(LiStack));
L=(LiStack*)malloc(sizeof(LiStack));
\t\t\t-----欢迎进入商品出售界面!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 数据结构课程设计报告-商品货架管理系统 1 课程设计 报告 商品 货架 管理 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)