- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、选择题(每小题 2 分,共 20 分)
模拟停车场管理
班级:物联网 姓名: XXX 学号: XXXXXXX 日期:4 月 9 日
一、需求分析
1、程序的功能描述
按照从终端输入的数据序列进行模拟管理。
1)狭 道 停 车 用 栈 来 实 现 , 并 且 用 的 顺 序 栈 , 等 车 位 的 便 道 用 队 列 来 实 现 , 并 用 链
式存储。
2 )每一组输入信息包含三个数据项,汽车的“到达”和“离去”的信息,汽车牌 照号码,汽
车“到达”或“离去”的时刻。
3 )对每一组输入数据进行操作后的输出信息为: 若是车辆到达, 则输出车辆在停车场内或便道
上的停车位置;若是车子离去,则输出车辆在停车场内停留的时间和缴纳的费用。 (假设在便道等车的
时间不收费)
4)选作内容: (1)便道也是要收费的,仅仅比狭道收费便宜点。
(2 )狭道上的车可以直接开走。
2、输入 / 输出的要求
首先选择操作的模块,根据提示输入车牌和到达时间,程序会告知是否停满或者停车车位。
车牌为 10个字符以内的字符串,时间的输入中间有冒号把时分隔开。
页脚内容 1
一、选择题(每小题 2 分,共 20 分)
3、测试数据
1 苏 D543 1:10
1 苏 Q123 1:20
1 苏 D145 1:30
二、概要设计
1、本程序所用的抽象数据类型的定义
typedef struct NODE{
CarNode *stack[MAX+1];
int top;
}SeqStackCar;//狭道的堆栈顺序存储
typedef struct car{
CarNode *data;
struct car *next;
}QueueNode;//队列的链式存储
typedef struct Node{
QueueNode *head;
QueueNode *rear;
页脚内容 2
一、选择题(每小题 2 分,共 20 分)
}LinkQueueCar;//便道上等候的队列定义
2、主模块的流程及各子模块的主要功能
1
○车辆到达: int Arrival(SeqStackCar *Enter,LinkQueueCar *W)首先定义一个栈和队列的结构体指针
为: *p , *t 。然后申请一个车辆信息的内存空间,并把它赋给栈指针。 车辆到达时就输入车牌号,
并通过 if(Enter-topMAX)来判断该车是进车场内还是进便道上, 如果是进车场内就把 top 加 1,显示 在
车场内的位置,还要输入进车场的时间,然后把该节点进栈。如果是 else 就显示该车要停在便道上,
并进行进队列的操作。
2
○车辆离开: void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W)
定义一个整型变量 room 记录要离开车辆的位置,定义两个栈指针和一个队列指针,
用个 if(Enter-top0) 确保栈不空, 然后用个 while(1) 确保输入的车辆离开位置的合法 性。如果
不和法,显示输入有误,要重新输入。通过 while(Enter-toproom) 判断离开车辆的位置,如果是中间
位置,就要再用一个栈前面临时开出来的车,等要
原创力文档


文档评论(0)