下载此文档

算法与数据结构的商品货架管理课程设计报告还有程序源代码.doc


文档分类:IT计算机 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
福 建 工 程 学 院
课程设计
课 程: 算法与数据结构
题 目: 商品货架管理
专 业: 计算机类
班 级: 1102
座 号: 3110307201
姓 名: 桂萍
2012年 6月 26 日
一、要解决的问题
商店货架以栈的方式摆放商品。商品货架可以看成一个栈,栈顶商品的生产日期最早,栈底商品的生产日期最近。生产日期越接近的越靠栈底,出货时从栈顶取货。一天营业结束,如果货架不满,则需上货。入货直接将商品摆放到货架上,则会使生产日期越近的商品越靠近栈顶。这样就需要倒货架,使生产日期越近的越靠近栈底。请编写程序模拟商品销售,上架倒货架等操作。(设有5种商品,每种商品至少有商品名和生产日期两个属性)
二、算法基本思想描述:
一天营业的开始,首先店主要把各个商品货架(栈)上满货物。商店总共有5种商品,商品名为:a,b,c,d,e。一一将每个商品的货架上满货物。接着一天的营业结束了,店主要将今天有销售出去的商品所对应的货架补满。让店主输入第一种需要补货的商品的商品名和今天销售出去的数量。然后,输入要补上货架的商品名和生产日期并将要补上货架的商品与在货架上未销售出去的货物进行生产日期的比较。若是要补上货架的货物日期比较早就直接上货架。否则进行倒货再补货,这样就能将日期比较近的放在栈底。用另外申请的一个空栈来存储倒出的货物。第一种商品补完货后,再问店主是否还有其他商品需要补货。如需补货按第一种商品补货的程序来进行。以此类推进行补货。
三、设计
1. 数据结构的设计
(1)商品信息:
typedef struct
{
char b;//存储商品名
//商品日期年、月、日
int year;
int month;
int day;
}Data;
(2)商品货架(栈)
#define max 5
typedef struct
{
Data a[max];//0为栈底位置
int top;//栈顶
}Stack;
(3)商品种类:
Stack *s[5];//5种商品

(1)初始化空栈:
利用for循环为每个(商品货架)栈申请空间,并进行判断是否有申请到空间,若没有申请到空间就输出提示“空间不足!”,若是有申请到空间,top指向栈顶,初始值为-1,栈底是0的位置。
(2)上货的算法设计:
先定义四个变量分别是字符型的k1,整型的k2,k3,k4用来存储商品名和商品的生产日期,再赋值给栈元素的各个属性,即将商品上货。再赋值前先判断top是否是最大值,若是就输出提示“栈满”并结束该上货程序。当货物上满后输出提示表示商品的货架上满了并输出此时货架上货物的数量,利用for循环进行下一个商品的上货,直至将5个商品的货架全部上满。
(3)出货(即当天的销售)的算法设计:
一天的营业结束了,店主需要为有销售出去的商品进行补货。因此需要知道是哪个商品有销售出去以及其销售的数量,让店主输入今天有销售出去的一种商品的商品名,若是店主输入此商店没有的商品名就输出提示,并让店主再次输入商品名,接着要输入销售的数量,程序要对销售的数量进行判断是否超出了栈的最大值(即货架上所能容纳货物的最大数量),若是超出输出提示,并请店主再次输入销售的数量。
(4)补货的算法设计:
在此子函数中先定义四个变量分别是字符型的k1,整型的k2,k3,k4用来存储要补上货架的商品名和商品的生产日期,另外再初始化一个空栈L,用来存储倒出来的货物。将要补上货架的商品的生产日期与在货架上未销售出去的商品进行比较。若是日期比较早则可直接上货,否则要进行倒货再上货。每入一件货物都要进行这样的程序。
(5)倒货:
为避免发生入货直接将商品摆放到货架上,会使生产日期越近的商品越靠近栈顶这样的事发生,因此需要倒货。将比要补上货架的货物的生产日期要早的货物倒出放入栈L,直至将要补上货架的货物入货,则可再把栈L的货物再放回原栈。
(6)将货架上摆放的货物打印出来:
补货完成后,要将各个商品栈的货物的商品名以及其生产日期打印出来,这样可以检验补货时是否有将日期比较近的放在栈底。
(7)
模块结构及功能:
1)int main(void) //主程序
2)Stack *initstack() //初始化空栈

算法与数据结构的商品货架管理课程设计报告还有程序源代码 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xnzct26
  • 文件大小117 KB
  • 时间2021-01-22