欢迎来到天天文库
浏览记录
ID:26344896
大小:86.00 KB
页数:10页
时间:2018-11-26
《停车场模拟管理系统报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、停车场模拟管理系统实验报告班级:数学一班姓名:杨宁学号:2007429010日期:2008-11-8一、需求分析:1.程序功能:用顺序栈模拟停车位和辅助栈,用顺序队模拟便道。来车显示停车位置,离车显示车辆调度情况及应交的停车费,还能查询特定车牌号的汽车所在的位置。2.输入输出要求:C,L,F,Q分别表示来车,离车,查询车,退出;来车时输入车牌号,走时输入所在停车位的位置,查询输入车牌号;3.测试数据:(1)来车:JE001到JE010(2)查询:JE003,JE008(3)离车:JE001,JE007(4)退出二、概要设计:1.本程序所用的抽象数据
2、类型定义:顺序栈,顺序队;2.主模块的流程及个子模块的主要功能:(1)STOPPING*init_stopping()初始化停位(2)BUFFER*init_buff()初始化辅助栈(3)PAVEMENT*init_pavement()初始化便道(4)voidcar_come(char*plate,char*in_time)来车函数(5)voidcar_leave(intpos,char*out_time)离车函数(6)voidstop_to_buff(intpos)从停车位进入辅助栈函数(7)voidbuff_to_stop(intpos)从辅助
3、栈进入停车位函数(8)voidpave_to_stop()从便道进入停车位函数(9)floatcheckout(char*in_time,char*out_time)计算停车费函数(10)voidwelcome()欢迎函数(11)voiddisplay()显示停车场情况的函数(12)voidshow_car(char*plate)查询并显示汽车信息的函数(13)voidmain()主函数三、详细设计:1.采用C语言定义停车位、辅助栈、便道:(1)STOPPING*init_stopping()/*初始化停车位*/{STOPPING*s;s=(STO
4、PPING*)malloc(sizeof(STOPPING));if(!s){printf("STOPPING空间不足!");returnNULL;}else{s->top=-1;returns;}}(2)BUFFER*init_buff()/*初始化辅助栈*/{BUFFER*b;b=(BUFFER*)malloc(sizeof(BUFFER));if(!b){printf("BUFFER空间不足!");returnNULL;}else{b->top=-1;returnb;}}(3)PAVEMENT*init_pavement()/*初始化便道*/
5、{PAVEMENT*p;p=(PAVEMENT*)malloc(sizeof(PAVEMENT));p->front=p->rear=MAX_PAVE-1;returnp;}1.主要功能模块的伪码算法:(1)voidcar_come(char*plate,char*in_time){If(停车为未满)来车进入停车位;Else来车进入便道等候;}(2)voidcar_leave(intpos,char*out_time){输入汽车所在位置;If(汽车不在最后一个车位)stop_to_buff(intpos);所选汽车离去;显示应缴费用;If(辅助栈不
6、空)buff_to_stop(intpos);if(便道不空)pave_to_stop();}(1)voidshow_car(char*plate){遍历停车位,如找到所查汽车则停止;If(停车位无此车)遍历便道,如找到停止;if(便道无此车)显示信息无此车;}Welcome()2.函数调用关系:Stop_to_buff()Display()Buff_to_stop()Main()Car_leave()Pave_to_stop()Car_come()Checkout()Show_car()一、调试分析:1.调试中的问题及解决方法:(1)各函数无法都
7、作用于顺序队和顺序栈,解决方法:将顺序队和顺序栈定义成全局变量;(2)无法将输入的字符指针char*plate接收的车牌号字符串传递给各函数,解决方法:在给plate输入前给plate开辟空间plate=(char*)malloc(sizeof(char));(3)无法将字符串型的时间逐个转换成整型,解决方法:定义字符型指针,逐一指向字符串中的每个字符;二、使用说明及测试结果:1.使用说明:输入C(L、F、Q)表示来车(离车、查询、退出),接下来按照提示输入;2.测试结果:(1)来车:请选择您要的操作:c请输入您的车牌号:JE001请输入您的入场时
8、间:10:10请您停放在1号车位!您的入场时间为:10:10停车位的情况:1车位——JE001(2)离车:
此文档下载收益归作者所有