西安院
数据结构课内实验报告
题目:
商品货架管理
院系名称:院系名称:专业名称:专业名称:班级:
计算机学院软件工程专业
学生姓名:学生姓名:学号(学号(8位):
f一需求分析
商品货架管理:把商品货架看成一个栈,栈顶商品的生产日期最早,栈底商品的生产日期最近,上货时,需要倒货价,以保证生产日期较近的商品在较下的位置。1输入的形式和输入值的范围:输入商品名称和日期如:aa201105052输出的形式:商品名称和生产日期如:bb20110606(3)程序所能达到的功能:商品上货时,需要倒货价,以保证生产日期较近的商品在较下的位置。(4)测试数据:(5)输入:aa20110808bb20110707cc20110505输出:cc20110505bb20110707aa20110808
二概要设计数据类型的定义:structi
formatio
定义商品信息定义商品信息定义商品信息char
ame10名称名称名称lo
gdate生产日期生产日期生产日期typedefstruct定义顺序栈定义顺序栈定义顺序栈structi
formatio
spsizei
ttopseqstack
(1)i
tpushseqstacks1:):进栈s1栈从栈顶top0开始,按商品日期从近到晚输入,如先输入20110808再输入20110707然后输入20110606,再输出结果;流程图:
f开始
请输入商品的名称和日期
top0
topsize1
N
Y输入商品名称和日期,较近的先输
top
结束
(2)i
tcmpseqstacks1seqstacks2i
tTOP)插入新商品,输入新商品名字和日期,1旧07070808,新0909,比较新旧商品的生产日期,当s1不为空栈和新商品的日期大于s1栈顶的日期如:20110909201007070时,把s1栈顶的内容出栈,并进栈道s2依次进行比较,比较结束后,把新产品的数据进栈s1,然后把s2的数据依次从栈顶进展到s2。如图:新商品0909s1070708082)旧07070808,新0606,因为060607070直接将新商品进入s1栈;0606s107070808s2top10606s208080707s1070708080909
f3)旧06060909新0707,s1s2
06060909
0606
s10606070707070909
流程图:
f开始
请输入新商品的名称和日期
s1top1
ewdates1sps1topdate0YS2topS1top
N
S1栈顶元素出S1栈入S2栈
S1top
入S1栈
NS2栈不为空Y出S2栈,入S1栈
结束
(3)voidpopseqstacks1i
tTOP)输出插入新商品后的货架商品顺序。流程图:
f开始NS1top0
Y
输出S1栈顶的商品
S1top
结束
三.详细设计
实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法;对主程序和其他模块也都需要写出伪码算法伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘直接输入r