ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:19.60KB ,
资源ID:23446214      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23446214.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《数据结构》课程设计报告商品货架管理系统.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《数据结构》课程设计报告商品货架管理系统.docx

1、数据结构课程设计报告商品货架管理系统湖北第二师范学院课程设计报告课程名称:数据结构课程设计设计题目:商品货架管理系统系别:计算机科学系专业:软件工程组别:蔡桥利,阳乐,邱东明,郝耀峰学生姓名: -学号:-起止日期:2013年12月7日2013年12月21日指导教师:宋婉娟教研室主任:一、课程设计目的 3二、问题描述 3三、需求分析 3四、概要设计3五、详细设计4六、测试分析7七、使用说明9八、测试数据 10九、源程序清单 10十、模块说明 19一课程设计目的通过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以

2、及操作方法,为进一步的应用开发打好基础。二问题描述设计、实现一个商品货架管理系统,实现商品出售,增加,查询(按商品代号,商品名字,生产日期),修改,输出过期商品,输出小于多少数量的商品。三需求分析printf(tt *n); printf(tt - 1.建立目前商品信息 -n); printf(tt - 2.添加商品 -n); printf(tt - 3.出售商品 -n); printf(tt - 4.查询商品 -n); printf(tt - 5.修改商品 -n); printf(tt - 6.显示所有商品信息 -n); printf(tt - 0.退出系统 -n); printf(tt *

3、nn); 按序号依次实现功能。四概要设计 4.1系统用到的抽象数据类型定义:1、/定义结构体typedef struct node int n; /商品代号 char name20; /商品名称 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 e

4、lse/增加商品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(

5、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(nntt-欢迎使用商品货架管理系统-n); while(1) printf(tt *n); printf(tt - 1.建立目前商品信息 -n); printf(tt

6、- 2.添加商品 -n); printf(tt - 3.出售商品 -n); printf(tt - 4.查询商品 -n); printf(tt - 5.修改商品 -n); printf(tt - 6.显示所有商品信息 -n); printf(tt - 0.退出系统 -n); printf(tt *nn); printf(ttt请输入您的操作:); scanf(%s,&i); scanf(%c,&j); printf(nn); if(i = 0) printf(ttt退出成功,欢迎下次使用!n); break; else switch(i) case 1:top=creat();break; c

7、ase 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(ttt输入错误,请选择正确的功能n); 六测试分析按照附录中的测试数据,得出如下测试、分析结果:1、新建商品信息。a/b/c/d2、增加商品。f。3、出售商品代号3,商品名称c,50个。4、出售商品代号2,商品名称b,200个。5、查询,按序号查询,输入1.6、查询,按商品名称查询,输入b。7、查询,按

8、生产日期查询,输入20131010.8、查询,输入小于数量200的商品。9、查询,输出20131226时过期的商品。10、修改商品。修改商品代号为4的商品。11、输出货架上的所有商品。12、退出系统。七使用说明1、建立目前商品信息。输入1,-1表示结束。按照提示依次输入商品代号、商品名称、生产日期、保质期、数量。2、添加商品。输入2,依次输入商品代号、商品名称、生产日期、保质期、数量。3、出售商品。输入3,显示所有商品,选择要出售的商品代号、数量,如果出售的数量小于等于该商品有的数量则显示出售成功。否则显示出售失败。4、查询商品。输入4,选择1、2、3则按商品代号、名称、生产日期查询商品,选择

9、4、5,则分别输出小于该数值的商品,输出过期商品。5、修改商品信息。输入5,输入修改商品代号,按照提示输入商品名称、生产日期,保质期,数量。6、输入所有商品信息。输入6,显示所有商品信息。7、退出系统。输入0,退出系统。八测试数据如,测分析 六九源程序清单#include#include#include/定义结构体typedef struct node int n; /商品代号 char name20; /商品名称 int date; /生产日期 int validity; /保质期(天) int num; /商品数量 struct node *next; LiStack,*sqstack;/

10、输出所有商品p的名字、生产日期、保质期。void print(sqstack p) sqstack L=(LiStack *)malloc(sizeof(LiStack); L=p-next; if(L=NULL) printf(货架为空。n); else printf(代号t商品名称t生产日期tt保质期(天)tt数量(个)n); while(L!=NULL) printf(%d,L-n); printf(t%s tt,L-name); printf(%d tt,L-date); printf(%d tt,L-validity); printf(%d ttn,L-num); p=L; L=p-

11、next; printf(t*n); /增加商品sqstack push(LiStack *top) int validity,num,n; int date; char name20; LiStack *temp=(LiStack *)malloc(sizeof(LiStack); printf(ttt-欢迎进入商品添加界面!-n); temp=(LiStack *)malloc(sizeof(LiStack); printf(t增加商品的代号是:); scanf(%d,&n); printf(t增加的商品名称是:); scanf(%s,name); printf(t生产日期(年月日,如:2

12、0131215:)是:); scanf(%d,&date); printf(t保质期(天)是:); scanf(%d,&validity); printf(t数量(个):); scanf(%d,&num); temp-date=date;strcpy(temp-name,name); temp-num=num;temp-validity=validity; temp-n=n; if(top-next=NULL) temp-next=NULL; top-next=temp; else temp-next=top-next; top-next=temp; printf(t商品添加成功!n); re

13、turn (top);/创建一个存放商品信息的栈sqstack creat() int n,validity,num; char name20; int date; LiStack *p; LiStack *top=(LiStack *)malloc(sizeof(LiStack); top-next=NULL; while(1) printf(t请输入商品代号(int),代号为-1表示输入结束:); scanf(%d,&n); if(ndate=date; p-validity=validity; strcpy(p-name,name); p-num=num;p-n=n; if(top-ne

14、xt=NULL) p-next=NULL; top-next=p; else p-next=top-next; top-next=p; return(top);/出售商品sqstack pop(LiStack *top) int n,num; LiStack *p,*L; p=(LiStack *)malloc(sizeof(LiStack); L=(LiStack *)malloc(sizeof(LiStack); printf(ttt-欢迎进入商品出售界面!-n); printf(t-目前商品有:n); print(top); printf(出售的商品代号是:); scanf(%d,&n)

15、; printf(出售的商品数量(个):); scanf(%d,&num); p=top-next; if(top-next=NULL) printf(货架为空,请先添加货物! n); else while(p-next!=NULL) if(p-next-n=n) if(p-next-numnext-num=num) if(p-next-next=NULL) p-next=NULL; printf(商品出售成功!); free(L);break; else L=p-next; p-next=L-next; free(L); printf(商品出售成功!);break; else p-next-

16、num-=num; printf(商品出售成功!);break; p=p-next; if(p=NULL) printf(输入的商品序号有误,请重新操作。n); return(top);/按序号查找商品void SequenceNumberF(LiStack *top) int n,x=0; LiStack *p; p=(LiStack *)malloc(sizeof (LiStack); printf(需要查询的商品代号是:); scanf(%d,&n); p=top; while(p-next!=NULL) if(p-next-n=n) printf(代号t商品名称t生产日期tt保质期(天

17、)tt数量(个)n); printf(%d,p-next-n); printf(t%s tt,p-next-name); printf(%d tt,p-next-date); printf(%d tt,p-next-validity); printf(%d ttn,p-next-num); x=1;break; p=p-next; if(x=0&p-next=NULL) printf(t没有您要查询的商品。n); printf(t查询成功,欢迎再次使用查询系统.n);/按商品名字查询商品void NameF(LiStack *top) char name20; int x=0; LiStack

18、 *p; p=(LiStack *)malloc(sizeof (LiStack); printf(需要查询的商品名称是:); scanf(%s,name); p=top; while(p-next!=NULL) if(strcmp(p-next-name,name)=0) printf(代号t商品名称t生产日期tt保质期(天)tt数量(个)n); printf(%d,p-next-n); printf(t%s tt,p-next-name); printf(%d tt,p-next-date); printf(%d tt,p-next-validity); printf(%d ttn,p-n

19、ext-num); x=1;break; p=p-next; if(x=0&p-next=NULL) printf(t没有您查询的商品。n); printf(t查询成功,欢迎再次使用查询系统.n);/按商品生产日期查找商品void ProductionDateF(LiStack *top) int x=0; int date; LiStack *p; p=(LiStack *)malloc(sizeof (LiStack); printf(需要查询的生产日期是:); scanf(%d,&date); p=top; printf(需要查询的生产日期%d的商品有:n,date); printf(代

20、号t商品名称t生产日期tt保质期(天)tt数量(个)n); while(p-next!=NULL) if(date=p-next-date) printf(%d,p-next-n); printf(t%s tt,p-next-name); printf(%d tt,p-next-date); printf(%d tt,p-next-validity); printf(%d ttn,p-next-num); x=1; p=p-next; if(x=0&p-next=NULL) printf(t没有商品的生产日期在%d之前商品。n,date); printf(t查询成功,欢迎再次使用查询系统.n)

21、;/按商品数量查找商品,查找小于该数量的商品void NumberF(LiStack *top) int num,x=0; LiStack *p; p=(LiStack *)malloc(sizeof (LiStack); printf(需要查询的商品数量是:); scanf(%d,&num); p=top; printf(商品数量低于%d的商品有:n,num); printf(代号t商品名称t生产日期tt保质期(天)tt数量(个)n); while(p-next!=NULL) if(p-next-numnext-n); printf(t%s tt,p-next-name); printf(%

22、d tt,p-next-date); printf(%d tt,p-next-validity); printf(%d ttn,p-next-num); x=1; p=p-next; if(x=0&p-next=NULL) printf(t没有商品低于%d的商品。n,num); printf(t查询成功,欢迎再次使用查询系统.n);/date加validity,并返回date,到期时间。int DateF(int date,int validity) int i=0,j=0,k=0; int c=0; i=date/10000; j=(date-10000*i)/100; k=date-100

23、00*i-100*j; k=k+validity; if(k30) c=k/30; k=k%30; j=j+c; c=0; if(j12) c=j/12; j=j%12; i=i+c; date=i*10000+j*100+k; return (date);/查询过期商品信息void OverdueF(LiStack *top) int validity,x=0; LiStack *p; int date,date2,date1; p=(LiStack *)malloc(sizeof (LiStack); printf(请输入目前的日期是:); scanf(%d,&date); p=top; printf(需要查询目前日期(%d)的过期的商品有:n,date); while(p-next!=NULL) validity=p-next-validity; date1=p-next-date;

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

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