版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、合肥学院计算机科学与技术系课程设计报告20142015学年第二学期课程数据结构与算法课程设计名称超市货架管理学生姓名许世琨学号 1304031035专业班级13网络工程一班指导教师何立新、华珊珊2015 年6 月目录一:问题分析和任务定义 2I、问题描述与分析 2U、任务定义 2二:功能模块图 2三:详细设计和编码 4四:上机调试过程 6五:测试结果及其分析 7六:用户使用说明 9七:参考文献 9八:附录 9:问题分析和任务定义I、问题描述与分析问题描述商品货架可以看成一个栈,栈顶商品的生产日期最早,栈底商品的生产日期最近。上货时,需要倒货架,以保证生产日期较近的商品在较下的位置。问题分析基本
2、思路是先建立两个栈!在一个栈里放入已有的商品!然后用一个循环语句对新加入的商品进行个数的确定输入!然后把第一个栈里的元素出栈与新加入的进行比较新的比旧的大就把旧的放到第二个 栈里,小的话就把新的入栈 1,完成后把栈2的入栈1。完成输出。H、任务定义1、先定义数据日期的结构体 -里面包括日期。2、写进栈和出栈的函数。3、写倒货函数。4、函数输出,输出只是单纯的输出,不是求出栈。功能模块图1.各个模块的功能描述。struct data :定义商品信息包括商品名和生产日期Seqstack :定义顺序栈put in( seqstack *s1):输入货架原始商品数据存放在顺序栈A中cmp(seqsta
3、ck *s1, seqstack *s2, i nt TOP):输入并比较新商品,以调整其在货架中的位置借助顺序栈B在栈A上操作putout(seqstack *s1,i nt TOP) :输出顺序栈2 功能模块图打印输出栈 A (putout(seqstack结束二:详细设计和编码定义商品信息模块:struct datachar name10;/* 商品名称 */Io ng date;/*商品生产日期*/;定义顺序栈模块:typedef structstruct data spsize;int top;seqstack;输入原始数据模块:int put in( seqstack *s1)in
4、t i = 0;for(s1-top = 0; s1-top top +)/此处输入商品生产时间应按照由近到远输入,以确保货架上原始商品已经按要求摆放printf(请输入第c件商品名称:,s1-top + 1);sca nf(%s, s1-sps1-top. name);printf(请输入生产日期:);scan f(%d, & s1-sps1-top.date);prin tf(n);return(- s1-top);处理新商品模块:int cmp(seqstack *s1, seqstack *s2, int TOP)struct data n ew;s1-top = TOP;s2-top
5、 = -1;printf(请输入新商品名称:);sca nf(%s, new.n ame);printf(请输入生产日期:);scanf(%d, &new.date);/*比较新旧商品的生产日期*/while(s1-top != -1 & new.date - s1-sps1-top.date 0) s2- top +;strcpy(s2-sps2-top. name, s1-sps1-top. name); s2-sps2-top.date = s1-sps1-top.date; s1-top-;s1-top+;/*将新商品插入货架*/strcpy(s1-sps1-top. name, ne
6、w.n ame);s1-sps1-top.date = n ew.date;for(;s2-top-1;s2-top-)s1-top+;strcpy(s1-sps1-top. name,s2-sps2-top. name); s1-sps1-top.date=s2-sps2-top.date;return(s1-top);顺序栈输出模块:void putout(seqstack *s1,int TOP)prin tf(nn更新商品后的货架商品顺序为:n);printf(n商品名称 生产日期:nn);for(s1-top=TOP;s1-top=0;s1-top-)prin tf( %s,s1-s
7、ps1-top. name);prin tf(%dn,s1-sps1-top.date);prin tf(nnnn);四:上机调试过程1. 这个程序代码比较少,也比较简单,所以刚开始错误大多是大小写问题,输入格式问题,标点符号问题,括号匹配问题等,简单的检查即可解决。2. 很多不懂的还是请教别的同学的,老是也给于了很多的帮助!3.输入时会出现格式错误(如下)图3-1五:测试结果及其分析1.你可以定义你要输入的货架上的商品个数,名称你也可以随意的取,生产日期自己 定义图4-2 (输入新的商品)* D; .白目屡:Dm kto pVCDe bu gXS K.#xeH0 9 3 10 1 6 G 6
8、 0 010 q5 w 5e5 Q 1 w 1 e- 1 -二 0 0 - B 称:2称:2称:2 口Dnmcnn日 口肖 商产商产商产 m AAAAAA -Mwrr-+tr-Mr-krr+.# S请青请青青青D:用户 DldopVCDebugXSK.ee,图4-3 (结杲输出)10q 50-1 二 0为 M序 1页 -tr -称:2粮-2称:2HE 品日品日品oi吕20 商产商产商产后 新生新主口 S4& 入入入入入入商名艸输彳请请请请更商qq20150610w30150612q20150611ee2010613ouerPress anv Jtew to continue六:用户使用说明1.
9、 输入已有的商品个数2. 输入已有商品的名字、日期3. 输入新加入的商品个数4. 输入新加入的商品名字、日期5. 输出结果七:参考文献1 王昆仑,李红数据结构与算法北京:中国铁道出版社, 2006年5月。2 数据结构算法与应用一一 C语言描述第一版,Sartaj Sahni著,国防科技大学汪诗林、孙 晓东等译,王广芳审校,机械工业出版社。3 算法设计方法,吴哲辉、崔焕庆、马炳先、吴振寰著,机械工业出版社,2008。4 数据结构与算法分析C语言描述(Data Structures and AlgorithmsAnalysis in C )第二版,Mark Allen Weiss 著,天津师范大学
10、冯舜玺译,机械工业出版社。5 数据结构(C语言版),严蔚敏、吴伟民著,清华大学出版社。6 C+数据结构原理与经典问题求解,左飞著,飞思科技产品研发中心监制,电子工业出版 社,2008。7 C陷阱与缺陷作者:凯尼格出版社:人民邮电出版社。8 编程精粹作者:Steve Maguire 出版社:人民邮电出版社。八:附录#i nclude#in clude#defi ne size 20struct data/ 定义商品信息char n ame6; /商品名称long int date; /商品生产日期;typedef struct/定义顺序栈struct data spsize;int top;se
11、qstack;int push1(seqstack *s1)int i=0, n;/先输入n件puts(输入已有商品的件数:”);sca nf(” d, &n);for(s1-top=0;s1-top top+)printf(请输入第d件商品名称:,s1-top+1);sca nf(%s,s1-sps1-top. name);printf(”请输入生产日期:”);scan f(%d, &s1-sps1-top.date);prin tf(n);return(-s1-top);int cmp(seqstack *s1,seqstack *s2,i nt TOP)int n,i;struct da
12、ta n ew;s1-top=TOP;s2-top=-1;puts(输入新商品的个数:”);sca nf(” %d, &n);/循环for(i=0;itop!=-1 &n ew.date-s1-sps1-top.date0)/比较新旧商品的生产日期s2_top+;strcpy(s2-sps2-top. name,s1-sps1-top. name); s2-sps2-top.date=s1-sps1-top.date; s1-top-;s1-top+;/将新商品插入货架strcpy(s1-sps1-top. name ,new.n ame); s1-sps1-top.date=n ew.date;for(;s2-top-1;s2-top-)s1-top+;strcpy(s1-sps1-top. name,s2-sps2-top. name); s1-sps1-top.date=s2-sps2-top.date;return(s1-top);void pop(seqstack *s1, int TOP)/输出插入新商品后的货架商品顺序printf(”更新商品后的货架商品顺序为:n);printf(”商
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沪教版三年级下册数学第二单元 用两位数乘除 测试卷带答案(夺分金卷)
- 沥青混凝土运输协议(35篇)
- 农村丧事礼仪主持词
- 讲文明懂礼貌演讲稿600字(35篇)
- 2024年三人联合承包石油化工工程合同2篇
- 设备购销合同格式示例
- 设计服务合同印花税的办理流程及指南
- 诚信在诉讼中的承诺
- 货物运输安全合作协议
- 购房合同补充协议解读
- 光接口传输距离计算方法(共6页)
- DBB、DB、EPC模式的解析及其优缺点+第三小组
- 顶管施工监测
- 《糖尿病的治疗》PPT课件.ppt
- 铁路工务线路工作业指导
- 小学美术《14虾和蟹(二)》PPT课件
- VI设计手册的设计与制作PPT课件
- 天然气管道冰堵发生原因及解堵措施
- 对降低产品成本途径问题的研究
- 工程安全监测
- 28科学发展盐城巨变
评论
0/150
提交评论