- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计基于栈的商品货架管理的设计.doc
学号
《》
课程设计报告
基于栈的商品货架管理的设计 专业: 计算机科学与技术 班级: 姓名: 学号: 指导教师: 成绩:
计算机与信息工程系
2014年 11 月 22日目 录
1设计分析 2
1.1设计内容 2
1.2 设计任务及具体要求 2
2概要设计 2
2.1系统的功能简介 2
2.2 总体程序框图 3
3设计过程和程序代码 3
3.1数据结构的设计 3
3.1.1商品信息 3
3.1.2商品货架(栈) 3
3.1.3商品种类 4
3.2算法设计 4
3.2.1初始化空栈 4
3.2.2上货的算法设计 4
3.2.3出货(即当天的销售)的算法设计 4
3.2.4补货的算法设计 4
3.2.5倒货 4
3.2.6将货架上摆放的货物打印出来 5
3.2.7模块结构及功能 5
3.2.8主要模块算法描述 5
4运行结果 9
5小结 10
参考文献 11
附录:源程序 12
1设计分析
1.1设计内容
商店货架以栈的方式摆放商品。商品货架可以看成一个栈,栈顶商品的生产日期最早,栈底商品的生产日期最近。生产日期越接近的越靠栈底,出货时从栈顶取货。一天营业结束,如果货架不满,则需上货。入货直接将商品摆放到货架上,则会使生产日期越近的商品越靠近栈顶。这样就需要倒货架,使生产日期越近的越靠近栈底。请编写程序模拟商品销售,上架倒货架等操作。(设有5种商品,每种商品至少有商品名和生产日期两个属性)
1.2设计任务及具体要求
设计任务:一天营业的开始,首先店主要把各个商品货架(栈)上满货物。商店内总共有5种商品,商品名为:a,b,c,d,e。补货时,店主输入第一种需要补货的商品的商品名和今天销售出去的数量。然后,输入要补上货架的商品名和生产日期并将要补上货架的商品与在货架上未销售出去的货物进行生产日期的比较。若是要补上货架的货物日期比较早就直接上货架。否则进行倒货再补货,这样就能将日期比较近的放在栈底。用另外申请的一个空栈来存储倒出的货物。第一种商品补完货后,再问店主是否还有其他商品需要补货。如需补货按第一种商品补货的程序来进行,以此类推进行补货。
要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识,提高撰写技术文档的能力。并学习了解C语言程序设计的要求和方法,利用数据结构的相关算法和原理进行系统的设计分析,提高计算机语言编程的能力。
2概要设计
2.1系统的功能简介
商品货架管理系统可以看成是栈的设计管理,栈顶的产品的日期最早,栈底的商品日期最近,上货时需要进行倒货架以实现该功能。通过基于栈的原理实现设计商品货架管理系统,使得该系统的主要功能是实现对商品货架中产品进行合理有效的管理的实现,该系统包括对商品货架进行商品的上货、出货、补货、到货等功能,实现对商品货架信息上货、出货、补货功能的管理。
2.2 总体程序框图
图2.2程序的总体框图
3设计过程和设计代码
3.1数据结构的设计
3.1.1商品信息
typedef struct{
char b;//存储商品名
//商品日期年、月、日
int year;
int month;
int day;
}Data;
3.1.2商品货架(栈)
#define max 5
typedef struct{
Data a[max];//0为栈底位置
int top;//栈顶
}Stack;
3.1.3商品种类
Stack *s[5];//5种商品
3.2算法设计
3.2.1初始化空栈
利用for循环为每个(商品货架)栈申请空间,并进行判断是否有申请到空间,若没有申请到空间就输出提示“空间不足!”,若是有申请到空间,top指向栈顶,初始值为-1,栈底是0的位置。
3.2.2上货的算法设计
先定义四个变量分别是字符型的k1,整型的k2,k3,k4用来存储商品名和商品的生产日期,再赋值给栈元素的各个属性,即将商品上货。再赋值前先判断top是否是最大值,若是就输出提示“栈满”并结束该上货程序。当货物上满后输出提示表示商品的货架上满了并输出此时货架上货物的数量,利用for循环进行下一个商品的上货,直至将5个商品的货架全部上满。
3.2.3出货(即当天的销售)的算法设计
一天的营业结束了,店主需要为有销售出去的商品进行补货。因此需要知道是哪个商品有销售出去以及其销售的数量,让店主输入今天有销售出去的一种商品的商品名,若是店主输入此商店没有的商品名就输出提示,并让店主再次输入商品名,接着要输入销售的数量,程序要对销售的数量进行判断是否超出了栈的最大值(即货架上所能容纳货物的最大数量),
文档评论(0)