#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等)。 使用合适的数据结构(如队列、链表、哈希表等)来管理车辆和车位。 考虑代码的可扩展性,例如后续可能增加新的车位类型或车辆类型。