1、数据结构与算法设计 课程设计任务书 题 目 模拟停车场管理 学生 姓名 学号 专业班 级 数学 0901 设 计 内 容 与 要 求 【问题描述】 设停车场 T 只有一个可停放几辆汽车的狭长通道 S1, 且只有一个大门可供汽车进出。 汽车 在停车场内按车辆到达的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在 门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可进入;当停车场内 某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车场为它让路, 待该辆车开出大门后,为它让路的车辆再按原次序进入车场。在这里假设汽车不能从便道上开 走。试设计一个停车场管理
2、程序 【软件功能】 1.汽车经过车牌号的标记后进入此停车场管理。 2.模拟实现停车场 T,通道 S1 内的停车位以及汽车。 3.可以看到汽车在停车场内的详细信息 4.有美观良好的图形用户界面。 【算法思想】 1. 停车场和车辆规避所通过两个栈来模拟。当停车场内的汽车要离开时,后边停放的汽车为 其让路所要停放的地方称为车辆规避所。 2. 先进入通道的汽车可以先计入停车场,所以,通道通过一个队列来模拟。 3. 设计一个汽车类,汽车类中有车牌号,停车位置(指停在停车场内,通道内,还是车辆规避 所内)两个属性。 4. 一辆汽车首先进入通道,由于车牌号也汽车一一对应, 故通过随机产生车牌号来模拟随机出
3、现在通道内的汽车,将车牌号保存在汽车类中的车牌号属性中。 5. 进入通道时,需要检查通道内是否有汽车,若有,则需要在通道内等待,若没有,则检查 停车场内是否有空车位,若没有,则仍需要在通道内等待,若有,则可以进入停车场停车。 6. 当汽车要离开停车场时,此辆汽车后边停放的汽车从后往前一次进入车辆规避所,当此辆 汽车离开后, 车辆规避所内的汽车在依次进入停车场 (车辆规避所和汽车都是栈来模拟的, 所以会遵循后进先出的原则) 。 7. 有汽车离开后,检查通道内是否有汽车,如果有,则可进入停车场。 【提交成果】 1.“ 数据结构与算法设计课程设计任务书”一份,打印装袋; 2.“ 数据结构与算法设计课
4、程设计报告”一份,打印装袋; 3、上面两项内容的 word 文档,通过电子邮件交到指导教师。 起止时间 2012 年 6 月 18 日 至 2012 年 7 月 1 日 指导教师签名 2012 年 6 月 18 日 系 (教研室) 主任签 名 2012 年 6 月 18 日 学生签名 年 月 日 注明:内容限 1 页 数据结构与算法设计课程设计 1、 程序设计说明书 【设计题目】模拟停车场管理 【问题描述】 设停车场 T 只有一个可停放几辆汽车的狭长通道 S1,且只有一个大门可供汽车进出。汽车在停车场内按车辆 到达的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,
5、一旦停车场内有 车开走,则排在便道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后 开入的车辆必须先退出车场为它让路,待该辆车开出大门后,为它让路的车辆再按原次序进入车场。在这里假设 汽车不能从便道上开走。试设计一个停车场管理程序 【软件功能】 1.汽车经过车牌号的标记后进入此停车场管理。 2.模拟实现停车场 T,通道 S1 内的停车位以及汽车。 3.可以看到汽车在停车场内的详细信息 4.有美观良好的图形用户界面。 【算法思想】 1.停车场和车辆规避所通过两个栈来模拟。当停车场内的汽车要离开时,后边停放的汽车为其让路所要停放的地 方称为车辆规避所。 2.先进入通
6、道的汽车可以先计入停车场,所以,通道通过一个队列来模拟。 3.设计一个汽车类,汽车类中有车牌号,停车位置(指停在停车场内,通道内,还是车辆规避所内)两个属性。 4.一辆汽车首先进入通道,由于车牌号也汽车一一对应,故通过随机产生车牌号来模拟随机出现在通道内的汽车, 将车牌号保存在汽车类中的车牌号属性中。 5.进入通道时,需要检查通道内是否有汽车,若有,则需要在通道内等待,若没有,则检查停车场内是否有空车 位,若没有,则仍需要在通道内等待,若有,则可以进入停车场停车。 6.当汽车要离开停车场时,此辆汽车后边停放的汽车从后往前一次进入车辆规避所,当此辆汽车离开后,车辆规 避所内的汽车在依次进入停车场(车辆规避所和汽车都是栈来模拟的,所以会遵循后进先出的原则) 。 7.有汽车离开后,检查通道内是否有汽车,如果有,则可进入停车场。 【逻辑结构设计】 程序运行开始后,首先随机产生车牌号,由于汽车可能进入停车场,也可能不进入,为了模拟这个,我们给 定了一个范围,如果产生的随机数落入到这个范围内,则表示该汽车准备进入停车场,此时,汽车现进入通道内, 如果通道内已有汽