《数据结构》课程设计报告--商品货架管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称:数据结构课程设计
设计题目:商品货架管理系统
系别:计算机科学系
专业:软件工程
组别:
学生姓名: -- 学号: --
起止日期: 2013年 12 月 7 日~2013年 12月21日指导教师:
教研室主任:
目录
一、课程设计目的 (3)
二、问题描述 (3)
三、需求分析 (3)
四、概要设计 (3)
五、详细设计 (4)
六、测试分析 (7)
七、使用说明 (9)
八、测试数据 (10)
九、源程序清单 (10)
十、模块说明 (19)
一.课程设计目的
通过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。
二.问题描述
设计、实现一个商品货架管理系统,实现商品出售,增加,查询(按商品代号,商品名字,生产日期),修改,输出过期商品,输出小于多少数量的商品。
三.需求分析
printf("\t\t ******************************************\n");
printf("\t\t ----------- 1.建立目前商品信息--------\n");
printf("\t\t ----------- 2.添加商品--------\n");
printf("\t\t ----------- 3.出售商品--------\n");
printf("\t\t ----------- 4.查询商品--------\n");
printf("\t\t ----------- 5.修改商品--------\n");
printf("\t\t ----------- 6.显示所有商品信息--------\n");
printf("\t\t ----------- 0.退出系统--------\n");
printf("\t\t ******************************************\n\n");
按序号依次实现功能。
四.概要设计
• 4.1 系统用到的抽象数据类型定义:
1、//定义结构体
typedef struct node
{
int n; //商品代号
char name[20]; //商品名称
int date; //生产日期
int validity; //保质期(天)
int num; //商品数量
struct node *next;
}LiStack,*sqstack;
基本操作:
五、详细设计
//输出所有商品p的名字、生产日期、保质期。void print(sqstack p)
{
sqstack L=(LiStack *)malloc(sizeof(LiStack));
L=p->next;
if
else
}
//增加商品
sqstack push(LiStack *top)
{
}
//创建一个存放商品信息的栈
sqstack creat()
{
}
//出售商品
sqstack pop(LiStack *top)
{
}
//按序号查找商品
void SequenceNumberF(LiStack *top)
{
}
//按商品名字查询商品
void NameF(LiStack *top)
{
}
//按商品生产日期查找商品
void ProductionDateF(LiStack *top)
{
}
//按商品数量查找商品,查找小于该数量的商品void NumberF(LiStack *top)
{
}
//date加validity,并返回date,到期时间。int DateF(int date,int validity)
{
}
//查询过期商品信息
void OverdueF(LiStack *top)
{
}
//查询商品
void find(LiStack *top)
{
}
//修改商品
sqstack update(LiStack *top)
{
}
void main()
{
LiStack *top;
char i,j;
top=(LiStack *)malloc(sizeof(LiStack));
top->next=NULL;
printf("\n\n\t\t------------欢迎使用商品货架管理系统------------\n"); while(1){
printf("\t\t ******************************************\n");
printf("\t\t ----------- 1.建立目前商品信息--------\n");
printf("\t\t ----------- 2.添加商品--------\n");
printf("\t\t ----------- 3.出售商品--------\n");
printf("\t\t ----------- 4.查询商品--------\n");
printf("\t\t ----------- 5.修改商品--------\n");
printf("\t\t ----------- 6.显示所有商品信息--------\n");
printf("\t\t ----------- 0.退出系统--------\n");
printf("\t\t ******************************************\n\n");
printf("\t\t\t请输入您的操作:");
scanf("%s",&i);
scanf("%c",&j);
printf("\n\n");
if(i == '0'){
printf("\t\t\t退出成功,欢迎下次使用!\n");
break;
} else {
switch(i)
{
case '1':top=creat();break;
case '2':top=push(top);break;
case '3':top=pop(top);break;
case '4':find(top);break;
case '5':top=update(top);break;
case '6':print(top);break;
default:printf("\t\t\t输入错误,请选择正确的功能\n");
}
}
}
}