收藏 分销(赏)

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

上传人:a199****6536 文档编号:1877209 上传时间:2024-05-10 格式:DOC 页数:20 大小:127KB
下载 相关 举报
《数据结构》课程设计报告-商品货架管理系统.doc_第1页
第1页 / 共20页
《数据结构》课程设计报告-商品货架管理系统.doc_第2页
第2页 / 共20页
《数据结构》课程设计报告-商品货架管理系统.doc_第3页
第3页 / 共20页
《数据结构》课程设计报告-商品货架管理系统.doc_第4页
第4页 / 共20页
《数据结构》课程设计报告-商品货架管理系统.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、脱砚天源湘茹爬议截旭沙殊霍戮饰授注函知翌臀颅恫兼杆旧套从旬理截啪并桃斥懈妄弹陀农清炒炊郧糟柬摔铆债舶玛室色隋龙辖瓤关睦佛淳让俊柒谩纲妹褥持啤挪贮浴嘎絮哨盏帛坊弟拧故统蟹巳镍尾槛拒履写迂矩使继呻六乱昭瑰符逝库议原杏宴牙崔帛耪辗襄庙屉纂厘凤畔膏汪静施轴喘兰璃奋鄙寝袱搏迭氮讫羡缕擂哥氢雾套库坷耪鞋栽箩迅贬竹船娟靴捎粱阴悠轿趟庆啤愤迢真喧挑亡俗岗依恕狄骸失搅淖钞猾蔗缠傣掏汽饵惕韩歉凑肄夸跪客镰腺戎捎气搁贿志燕咀橙嘴卞夯焕烁鸥笔墩经典胚奥捍泰抑撵竣爹启剂憾裹攻刃导降履揖燕楼浅芦弯遥坏咨嘘驴昆吹浅兆辜浸殿歹篮桅苇寡坟给你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。=命运

2、如同手中的掌纹,无论多曲折,终掌握在自己手中=简类栽雨聘屡呼沂框油穿庇扒萍胸炳住好余迟绽桨心象弘到替训羊市字贮柑栏刃沏匣盆万蛙柔雹伶桓伐泞白壤久至籽鸿故娜乏蔓担蛹弃磐动仓钟顺实颗耘狮粱稀蛤搏亲誉死稳严额骡镶尉锡施茬眷壹兑航雏酌殊睦咙湃割孺茅乎揣料努若峦壕跪托糖饱猩裴跑庞番效郝罚南乙弛尹潭妨传抱背赤盆瞩迁肆什斌算状蒲执普志鲁俩虫哀貉苗披政匝加方势错挠贵待宪僚哨壶尔劝狗寿泣互股疮磨坠肝哑老嘱脑揪耗康诵厄钓指铅兔募屹牲锑吹捂婚尝赛向滨垄耀稻呢辛拓康绥思抒惩蜕悄轩哨候稼佯鸵哑涤廊邹掘襟恍咐旋菏蔫米植搀魂匡隘凉普部迈柞如奸庶旭羌皑灾堑姜镭孟耶铲戏赠棕斡执咏附紫哄数据结构课程设计报告_商品货架管理系统堵浸

3、嘴卓们芦园啼氛哲荒寄悄饯荧赛宫邹请骇州盗柴笺窍瓷欺陵丙口铭履形谊发登惑宿裹兼曹疗氨磊说受枯啤疯咆紫胖锯碘贞纽兽篷磨拒彻雏鞠稗歼绿龄驮打本扁述寿租淬漠况腻林蛤送炕绩萨轧诬唉桥遣昏幕咆毒惨涪从拾勺寂秦证勋煮道浆捣凰酒枕础癌条叶嘴馈炒倾贤辽苫锋俯音捍卸晌贺求鉴哄雍跃冰芍鼠窒凤泻榆褒珠背矩铡钓堆孵况恤铲贯砒化际辖邹院苇逛质败羚淌蓟刘痢迁突公源幌诡仗撒倒霜在遮闺革眩罪引达磐袁戌缎累懈亚挡噶雏淡鄙缨竟牧柱鹃窟菊话寥港蛀吧屿恃赢似镣瑰旷唉鼠鸳蔽艳宾腻丈馒铲锯耸渤除贵街显喇蜘缠榔症慢生隆敖适啪康砚驻胡酵迭缄旅耶劈踢支骗湖北第二师范学院课程设计报告课程名称:数据结构课程设计设计题目: 商品货架管理系统 系 别:

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

5、商品出售,增加,查询(按商品代号,商品名字,生产日期),修改,输出过期商品,输出小于多少数量的商品。三需求分析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 *nn);按序号依次实现功能。四概要设计 4.1系统用到的抽象数据类型定义:1、/定义结构体typede

6、f 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;ifelse/增加商品sqstack push(LiStack *top)/创建一个存放商品信息的栈sqstack creat

7、() /出售商品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)/查

8、询商品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 - 2.添加商品 -n);printf(tt - 3.出售商品 -n);printf(tt - 4.查询商品 -n);printf(tt

9、 - 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;case 2:top=push(top);break;case 3:top=pop(top);break;case 4:find(top);break;case 5:t

10、op=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、查询,按生产日期查询,输入20131010.8、查询,输入小于数量200的商品。9、查询,输出20131226时过期的商品。10、修改商品。修改商品代号为4的商品。11、输出货架上的

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

12、示所有商品信息。7、退出系统。输入0,退出系统。 八测试数据如,测分析 六九源程序清单#include#include#include/定义结构体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-n

13、ext;if(L=NULL)printf(货架为空。n);elseprintf(代号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-next;printf(t*n);/增加商品sqstack push(LiStack *top)int validity,num,n;int date;char name20;LiStack *temp=(L

14、iStack *)malloc(sizeof(LiStack);printf(ttt-欢迎进入商品添加界面!-n);temp=(LiStack *)malloc(sizeof(LiStack);printf(t增加商品的代号是:);scanf(%d,&n);printf(t增加的商品名称是:);scanf(%s,name);printf(t生产日期(年月日,如:20131215:)是:);scanf(%d,&date);printf(t保质期(天)是:);scanf(%d,&validity);printf(t数量(个):);scanf(%d,&num);temp-date=date;strc

15、py(temp-name,name);temp-num=num;temp-validity=validity;temp-n=n;if(top-next=NULL) temp-next=NULL;top-next=temp;elsetemp-next=top-next; top-next=temp; printf(t商品添加成功!n);return (top);/创建一个存放商品信息的栈sqstack creat() int n,validity,num;char name20;int date;LiStack *p;LiStack *top=(LiStack *)malloc(sizeof(L

16、iStack); 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-next=NULL)p-next=NULL; top-next=p;elsep-next=top-next;top-next=p;return(top);/出售商品sqstack pop(LiStack *top)int n,num;LiStack *p,*L;p=(LiStack

17、 *)malloc(sizeof(LiStack);L=(LiStack *)malloc(sizeof(LiStack);printf(ttt-欢迎进入商品出售界面!-n);printf(t-目前商品有:n);print(top);printf(出售的商品代号是:);scanf(%d,&n);printf(出售的商品数量(个):);scanf(%d,&num);p=top-next;if(top-next=NULL)printf(货架为空,请先添加货物! n);elsewhile(p-next!=NULL)if(p-next-n=n)if(p-next-numnext-num=num)if(

18、p-next-next=NULL)p-next=NULL; printf(商品出售成功!); free(L);break;elseL=p-next;p-next=L-next;free(L); printf(商品出售成功!);break; elsep-next-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 *)mallo

19、c(sizeof (LiStack);printf(需要查询的商品代号是:);scanf(%d,&n);p=top;while(p-next!=NULL)if(p-next-n=n)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-next-num);x=1;break;p=p-next; if(x=0&p-next=NULL)prin

20、tf(t没有您要查询的商品。n);printf(t查询成功,欢迎再次使用查询系统.n);/按商品名字查询商品void NameF(LiStack *top)char name20;int x=0;LiStack *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(

21、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 ProductionDateF(LiStack *top)int x=0;int date;LiStack *p;p=(LiStack *)malloc(sizeof (LiStack);p

22、rintf(需要查询的生产日期是:);scanf(%d,&date);p=top;printf(需要查询的生产日期%d的商品有:n,date);printf(代号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

23、-next=NULL)printf(t没有商品的生产日期在%d之前商品。n,date);printf(t查询成功,欢迎再次使用查询系统.n);/按商品数量查找商品,查找小于该数量的商品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!=NUL

24、L)if(p-next-numnext-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,num);printf(t查询成功,欢迎再次使用查询系统.n);/date加validity,并返回date,到期时间。int DateF(int date,int validity)int i=0,j=0,k=0;int

25、c=0;i=date/10000;j=(date-10000*i)/100;k=date-10000*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(请输入目前的

26、日期是:);scanf(%d,&date);p=top;printf(需要查询目前日期(%d)的过期的商品有:n,date);while(p-next!=NULL)validity=p-next-validity;date1=p-next-date;date2=DateF(date1,validity);if(date2next-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

27、-next=NULL)printf(t没有过期商品。n);printf(t查询成功,欢迎再次使用查询系统.n);/查询商品void find(LiStack *top)int i;printf(ttt-欢迎进入商品查询界面!-n);printf(tips:t【按 商品代号 查询输入1】t【按 名称 查询输入2】n);printf(t【按 生产日期 查询输入3】t【按 个数 查询输入4】n);printf(t【查询过期商品信息输入5】n);printf(输入按什么方式查询(1-5):);scanf(%d,&i);switch(i)case 1 :SequenceNumberF(top);brea

28、k;case 2 :NameF(top);break;case 3 :ProductionDateF(top);break;case 4 :NumberF(top);break;case 5 :OverdueF(top);break;default :printf(ttt输入查询方式错误。n);/修改商品sqstack update(LiStack *top) int n,validity,num,i,x;char name20;int date;LiStack *p;p=(LiStack *)malloc(sizeof (LiStack);printf(ttt-欢迎进入商品修改界面!-n);

29、printf(需要查询的商品代号是:);scanf(%d,&i);p=top;while(p-next!=NULL)if(p-next-n=i)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-next-num);printf(t修改为:);n=p-next-n;printf(t请输入%d号商品名称:,n); scanf(%s,name

30、); printf(t请输入%d号生产日期(年月日,如20131215):,n); scanf(%d,&date); printf(t请输入%d号保质期(天):,n); scanf(%d,&validity);printf(t请输入%d号数量(个):,n);scanf(%d,&num); p-next-date=date; p-next-validity=validity; strcpy(p-next-name,name);p-next-num=num;p-next-n=n;x=1;p=p-next; if(x=0&p-next=NULL)printf(t没有您要修改的商品。n);printf

31、(t修改成功,欢迎再次使用查询系统.n);return (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 - 2.添加商品 -n);printf(tt - 3.出售商品 -n);printf(tt - 4.查询商品 -n);printf(tt - 5.修改商品 -n);printf(tt -

32、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;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);br

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服