#C001. 智能停车场管理系统

智能停车场管理系统

题目:智能停车场管理系统

背景

设计一个智能停车场管理系统,该系统能够模拟车辆的进入、停放、离开等操作,并实时显示停车场的车位状态。停车场分为多个区域,每个区域有不同数量的车位,车位分为普通车位和特殊车位(如残疾人车位、充电车位等)。

功能要求

停车场初始化

创建一个停车场,包含多个区域,每个区域有不同数量的普通车位和特殊车位。 示例:停车场A有3个区域,区域1有50个普通车位和5个残疾人车位,区域2有30个普通车位和10个充电车位,区域3有20个普通车位。

车辆进入

车辆进入时,系统根据车辆类型(普通车辆、残疾人车辆、电动汽车)自动分配合适的车位。 如果没有合适的车位,车辆进入等待队列。 车辆信息包括车牌号、车辆类型、进入时间。

车辆离开

车辆离开时,系统根据车牌号找到车辆所在车位,并释放该车位。 如果车辆在等待队列中,释放车位后应自动分配给等待队列中的车辆。

实时状态显示

显示停车场每个区域的车位使用情况(普通车位、特殊车位的使用数量和剩余数量)。 显示等待队列中的车辆数量。

计费系统

根据车辆停放时间和车位类型计算停车费用。 普通车位:每小时5元;残疾人车位:每小时3元;充电车位:每小时8元。 车辆离开时输出停车费用。 异常处理 如果车辆离开时输入的车牌号不存在,提示错误信息。

输入输出示例 输入:


初始化停车场 3
区域1 50 5
区域2 30 10
区域3 20 0
车辆进入 普通车辆 A12345 2025-03-09 08:00
车辆进入 电动汽车 B23456 2025-03-09 08:05
车辆离开 A12345 2025-03-09 10:00
显示状态

输出:

车辆A12345已进入停车场,分配到区域1普通车位。
车辆B23456已进入停车场,分配到区域2充电车位。
车辆A12345已离开停车场,停车费用:10元。
区域1:普通车位剩余49,残疾人车位剩余5
区域2:普通车位剩余29,充电车位剩余9
区域3:普通车位剩余20

提示 使用面向对象编程思想,设计合理的类(如Car、ParkingLot、Area等)。 使用合适的数据结构(如队列、链表、哈希表等)来管理车辆和车位。 考虑代码的可扩展性,例如后续可能增加新的车位类型或车辆类型。