福建工程学院课程设计课程:算法与数据结构题目:商品货架管理专业:计算机类班级: 1102 座号: 3110307201 姓名:郑桂萍2012 年 6月 26 日
一、要解决的问题商店货架以栈的方式摆放商品
商品货架可以看成一个栈,栈顶商品的生产日期最早, 栈底商品的生产日期最近
生产日期越接近的越靠栈底,出货时从栈顶取货
一天营业结束,如果货架不满,则需上货
入货直接将商品摆放到货架上,则会使生产日期越近的商品越靠近栈顶
这样就需要倒货架, 使生产日期越近的越靠近栈底
请编写程序模拟商品销售,上架倒货架等操作
(设有 5 种商品,每种商品至少有商品名和生产日期两个属性)二、算法基本思想描述:一天营业的开始,首先店主要把各个商品货架(栈)上满货物
商店内总共有 5 种商品,商品名为: a,b,c,d,e
一一将每个商品的货架上满货物
接着一天的营业结束了, 店主要将今天有销售出去的商品所对应的货架补满
让店主输入第一种需要补货的商品的商品名和今天销售出去的数量
然后,输入要补上货架的商品名和生产日期并将要补上货架的商品与在货架上未销售出去的货物进行生产日期的比较
若是要补上货架的货物日期比较早就直接上货架
否则进行倒货再补货, 这样就能将日期比较近的放在栈底
用另外申请的一个空栈来存储倒出的货物
第一种商品补完货后,再问店主是否还有其他商品需要补货
如需补货按第一种商品补货的程序来进行
以此类推进行补货
数据结构的设计(1)商品信息:typedef struct { char b;//存储商品名 //商品日期年、月、日 int year; int month; int day; }Data; (2)商品货架(栈)#define max 5 typedef struct { Data a[max];//0为栈底位置 int top