商品货架管理c实现

商品货架管理c实现

ID:26693517

大小:108.96 KB

页数:11页

时间:2018-11-28

商品货架管理c实现_第1页
商品货架管理c实现_第2页
商品货架管理c实现_第3页
商品货架管理c实现_第4页
商品货架管理c实现_第5页
资源描述:

《商品货架管理c实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、西安郵電大学数据结构课内实验报告题目:商品货架管理院系名称:计算机学院专业名称:软件工程专业班级:学生姓名:学号(8位):一.需求分析以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?并明确规定(1)输入的形式和输入值的范围;输入的数字必须是正整数,月份必须是1~12之间的数字,日期的输入必须是在1~31之间。如:2010515  (2)输出的形式;如:2010212  (3)程序所能达到的功能;程序首先实现原始商品的元素信息输入,新商品输入之后直接入栈,商品信息的输入顺序:队首的商品的生产日期比队尾的靠后,然后实现倒

2、置商品,最后输出重新排列后的商品信息。  (4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。输入正常的日期范围内会有正常的输出,假设输入错误的日期那么将会退出输入,进行下一步的处理。如:20010110正确20111511程序结束二.概要设计数据类型的定义typedefstructDate{intyear;intmonth;intday;}Date;typedefstructStack{Datedate[SIZE];inttop;}Stack;typedefstructNode{Datedate;str

3、uctNode*next;}Queue;商品信息录入流程图:请输入商品的日期开始top=0toptop!=-1&&new.date-s1->sp[s1->top].date>0S1栈顶元素出S1栈入S2栈,S1->top++结束YNoS2->top++S1->top--入S1栈S2栈不为空出S2栈,入S1栈YN开始S1->top>0输出S1栈顶的商品S1->top--结束YNo三.详细设计实现概要

4、设计中定义的所有数据类型,对每个操作只需要写出伪码算法;对主程序和其他模块也都需要写出伪码算法(伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘直接输入高级程序设计语言程序)。main()函数show_Date_stack()Stack1_reverse_to_Stack2()将栈1的内容倒放到栈2initQueue()初始化队列initStack()初始化栈pop()出栈show_Date_queue()push()入栈intpush(Stack*s,Datedate)//入栈{if(s->top==SIZE-1

5、)return0;else{s->top++;s->date[s->top].year=date.year;s->date[s->top].month=date.month;s->date[s->top].day=date.day;return1;}}利用栈录入商品信息intenterQueue(Queue*Q,Datedate)//入队{Queue*p=NULL,*q=NULL;p=(Queue*)malloc(sizeof(Queue));p->next=NULL;if(p){p->date.year=date.year

6、;p->date.month=date.month;p->date.day=date.day;q=Q;while(q->next)q=q->next;q->next=p;return1;}elsereturn0;}队列将商品按是生产日期排列好,方便生产日期早的商品早出队。四.时间复杂度分析时间复杂度:O(n)五.测试数据及运行结果1.正常测试数据及运行结果;1.非正常测试数据及运行结果。第三个商品生产日期出错,程序无法再次上货.六.调试情况,设计技巧及体会1.对自己的设计进行评价,指出合理和不足之处,提出改进方案;输入商品生

7、产日期时,只能按新输入的生产日期比后输入的生产日期早这种形式,而实际生活中,会出现存货等情况,这时此程序无法实现正确调整商品货架。2.对设计及调试过程的心得体会。此次试验让我对于对列和栈有了更好的了解,同时认识到实际问题往往比较复杂,程序要真正应用于实际,往往需要考虑比较复杂的情况。站在使用者的角度考虑问题,才能编出实用的程序。七.附录:源代码,包括注释#include#include#defineSIZE3typedefstructDate{intyear;intmonth;intda

8、y;}Date;typedefstructStack{Datedate[SIZE];inttop;}Stack;typedefstructNode{Datedate;structNode*next;}Queue;Stack*initStack(void)//初始化栈{Stack*s=NUL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。