数据结构课程设计报告_商品货架管理系统
湖 北 第 二 师 范 学 院 课程设计报告 课程名称:课程名称:数据结构课程设计 设计题目设计题目:商品货架管理系统 系系别:别:计算机科学系 专专业:业:软件工程 组组别:别:蔡桥利,阳乐,邱东明,郝耀峰蔡桥利,阳乐,邱东明,郝耀峰 学生姓名学生姓名: :--学学号号: : -- 起止日期起止日期: : 2013 年 12 月 7 日~ ~2013 年 12 月 21 日 指导教师指导教师: :宋婉娟 教研室主任:教研室主任: 目目录录 一、一、 二、二、 三、三、 四、四、 五、五、 六、六、 七、七、 八、八、 九、九、 十、十、 课程设计目的课程设计目的. .3 3 问题描述问题描述. .3 3 需求分析需求分析. .3 3 概要设计概要设计. .3 3 详细设计详细设计. .4 4 测试分析测试分析. .7 7 使用说明使用说明. .9 9 测试数据测试数据. .1 10 0 源程序清单源程序清单. .1 10 0 模块说明模块说明. .1 19 9 05 级普本《数据结构课程设计》――《交通咨询系统》设计报告 一.课程设计目的 通过实习, 了解并初步掌握设计、 实现较大系统的完整过程, 包括系统分析、 编码设计、 系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步 的应用开发打好基础。 二.问题描述 设计、实现一个商品货架管理系统,实现商品出售,增加,查询(按商品代号,商品名 字,生产日期) ,修改,输出过期商品,输出小于多少数量的商品。 三.需求分析 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; 基本操作: 第 3 页 共 19 页 五、详细设计 //输出所有商品 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) { } 05 级普本《数据结构课程设计》――《交通咨询系统》设计报告 //按序号查找商品 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) { } //查询过期商品信息 voidOverdueF(LiStack *top) { } //查询商品 void find(LiStack *top) { } //修改商品 sqstack update(LiStack *top) { 第 5 页 共 19 页 } 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“, scanf(“%c“, 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“); } } } } 05 级普本《数据结构课程设计》――《交通咨询系统》设计报告 六.测试分析 按照附录中的测试数据,得出如下测试、分析结果: 1、新建商品