数据结构实验报告模拟停车场管理(含代码).doc

数据结构实验报告模拟停车场管理(含代码).doc

ID:52453895

大小:102.50 KB

页数:15页

时间:2020-03-27

数据结构实验报告模拟停车场管理(含代码).doc_第1页
数据结构实验报告模拟停车场管理(含代码).doc_第2页
数据结构实验报告模拟停车场管理(含代码).doc_第3页
数据结构实验报告模拟停车场管理(含代码).doc_第4页
数据结构实验报告模拟停车场管理(含代码).doc_第5页
资源描述:

《数据结构实验报告模拟停车场管理(含代码).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、..模拟停车场管理班级:物联网姓名:XXX学号:XXXXXXX日期:4月9日一、需求分析1、程序的功能描述按照从终端输入的数据序列进行模拟管理。1)狭道停车用栈来实现,并且用的顺序栈,等车位的便道用队列来实现,并用链式存储。2)每一组输入信息包含三个数据项,汽车的“到达”和“离去”的信息,汽车牌照号码,汽车“到达”或“离去”的时刻。3)对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出车辆在停车场内或便道上的停车位置;若是车子离去,则输出车辆在停车场内停留的时间和缴纳的费用。(假设在便道等车

2、的时间不收费)4)选作内容:(1)便道也是要收费的,仅仅比狭道收费便宜点。(2)狭道上的车可以直接开走。2、输入/输出的要求首先选择操作的模块,根据提示输入车牌和到达时间,程序会告知是否停满或者停车车位。车牌为10个字符以内的字符串,时间的输入中间有冒号把时分隔开。3、测试数据1苏D5431:101苏Q1231:201苏D1451:30二、概要设计1、本程序所用的抽象数据类型的定义typedefstructNODE{CarNode*stack[MAX+1];inttop;}SeqStackCar;//

3、狭道的堆栈顺序存储word教育资料..typedefstructcar{CarNode*data;structcar*next;}QueueNode;//队列的链式存储typedefstructNode{QueueNode*head;QueueNode*rear;}LinkQueueCar;//便道上等候的队列定义2、主模块的流程及各子模块的主要功能车辆到达:intArrival(SeqStackCar*Enter,LinkQueueCar*W)首先定义一个栈和队列的结构体指针为:*p,*t。然后申请

4、一个车辆信息的内存空间,并把它赋给栈指针。车辆到达时就输入车牌号,并通过if(Enter->top

5、Enter->top>0)确保栈不空,然后用个while(1)确保输入的车辆离开位置的合法性。如果不和法,显示输入有误,要重新输入。通过while(Enter->top>room)判断离开车辆的位置,如果是中间位置,就要再用一个栈前面临时开出来的车,等要开出的车开出后,再把临时栈的车看进车场内,并要调用PRINT(p,room);这个函数计算显示费用。然后还要用if((W->head!=W->rear)&&Enter->top

6、进入时间。word教育资料..开始初始化两个栈Enter和Temp及一个队列Wait。进入主菜单车到达车离开退出Room前车辆进临时栈对room计费便道车信息车场内信息判便道是否有车车场是否为空列表显示栈Enter元素出栈队列中元素进栈队列Wait中元素出队元素进栈Enter便道车进车场元素进队列Wait判断栈是否为满结束退出列表显示是否否是否是word教育资料..2、模块之间的层次关系主函数中包含着各个函数模块,各模块也在互相调用。比如,离开函数中要计算停车费,故要调取价格函数。价格函数计算要用到离

7、开和进入的时间,又要调用进入和离开函数。三、详细设计1、采用C语言定义相关的数据类型#defineMAX3//停车场最大容量为3辆,便于观察#defineprice0.05typedefstructtime{//定义时间结构体inthour;intmin;}Time;typedefstructnode{//定义车辆信息结构体charnum[10];Timereach;Timeleave;}CarNode;2、写出各模块的伪码算法voidPRINT(CarNode*p,introom){//车辆收费in

8、tA1,A2,B1,B2;printf("车辆离开的时间:");scanf("%d:%d",&(p->leave.hour),&(p->leave.min));printf("离开车辆的车牌号为:");puts(p->num);printf("其到达停车位时间);printf("离开停车位时间为:);A1=p->reach.hour;A2=p->reach.min;B1=p->leave.hour;B2=p->leave.min;prin

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

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

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