课程设计方案停车场管理系统.docx

学号 1011200142 数据结构课程设计 设计说明书 停车场管理系统 起止日期:年月至年月日 学 生 姓 名 班 级 成 绩 指导教师(签字> 年月日 停车场管理系统 一、引言 3 二、系统总体设计 3 1、设计思路 3 2、系统总体框架图 5 3、系统流程图 5 三、详细设计 7 1、车辆停车函数及流程图 7 2、车辆离开函数及流程图 8 3、列表显示车场信息函数及流程图 9 4、列表显示便道信息 10 5 列表显示菜单函数及流程图 11 四、总结 12 参考文献 12 五、附录 13 一、引言 随着现代化信息技术的发展,人民生活水平快速提高,汽车的数量也飞速增长,于此 同时,停车问题越来越受人们的关注,为了使停车场有效管理,停车场管理的信息化成为 必然。我们可以利用所学的知识,编写一个停车场管理系统,以提高管理的效率,提升停 车场的竞争力。 本次课程设计,我运用 C语言编写停车场管理系统,主要实现汽车停车,离开,收 费,停车信息查询,显示等功能,主要实现方式是用栈和队列。下面对栈和队列进行一下 简单介绍。 栈 stack )是一种仅允许在一端进行插入和删除运算的线性表。栈中允许插入和删除 的那一端,称为栈顶 top )。栈顶的第一个元素称为栈顶元素。栈中不可以插入和删除的 那一端称为栈底。在一个栈中插入元素,即把新元素放到当前栈顶元素的上面,使其称为 新的栈顶元素,即进栈 push)。从一个栈中删除一个元素,即把栈顶元素删除掉,使其下 面的元素成为新的栈顶元素,称为出栈 pop)。栈遵循后进先出的原则,即后进栈的元素 必先出栈。其中顺序栈是利用一组地址连续的存储单元依次存放从栈底到栈顶的元素。在 C语言中,可以用一维数组描述顺序栈中数据元素的存储区域,并预设一个数组的最大空 间。栈底设置在 0 下标端,栈顶随着插入和删除元素而变化,可以用一个整形变量 top 来 指示栈顶的位置。 队列是一种限定在表的一端进行插人而另一端进行删除的线性表,与栈相反,队列遵 循先进先出的原则。允许删除的一端,称为队头 front )。允许插入的一端称为队尾 rear )。向队列中插入新的元素称为入队,新元素进队后就成为了新的队尾元素;从队列 中删除元素,称为出队,元素离队后,其后继元素就成为了新的队头元素。其中链队列就 是用链表表示的队列,需要两个分别指示队头和队尾的指针 分别称为头指针和尾指针)。 为了操作方便,给链队列添加一个头结点,并令头指针指向头结点,尾指针指向队尾元素 结点,判断队列为空的条件是头指针和尾指针均指向头结点。 停车场的管理系统正好利用栈和队列的这些特点来实现模拟停车场和便道。 停车场管理主要实现以下几个功能: 1)、停车场车位的划分。 2)、车辆进出管理及收费功能。 3)、停车场车辆信息查询功能。 4)、退出系统。 二、系统总体设计 1、设计思路 停车场采用栈式结构,便道采用队列结构 即便道就是等候队列)。停车场的管理流程 如下: 1)当车辆要进入停车场时,检查停车场是否已满,如果未满则车辆进栈 车辆进入停 车场);如果停车场已满,则车辆进入等候队列 车辆进入便道等待)。 2)当车辆要求出栈时,该车到栈顶的那些车先出栈 在它之后进入的车辆必须先退出 车场为它让路),在让该车出栈,其他车辆再按原次序进栈 进入车场)。当车辆出栈完毕 后,检查等候队列 便道)中是否有车,有车则从队头取出,压入栈中。 用栈模拟停车场,用队列模拟便道,按照从终读入的输人数据序列的进行模拟管理, 每一组输入数据包含三个数据项:汽车到达或汽车离去的信息,汽车车牌号以及汽车到达 或离去的时刻。每次输完,进行输出操作:若是车辆到达,输出汽车在停车场内或者便道 上停车的信息;若是车辆离去,输出停留时间和需缴纳的费用 在便道上停留的时间不收 费),其中栈以顺序结构实现,队列以链表结构实现。 2、系统总体框架图 图1系统总体框图 3、系统流程图 实现对一级菜单:模拟停车场,便道,实现车辆停车、离开、列表显示停 车场信息、退出系统功能的控制,调用各个子函数。程序流程图如图 2所示 图2主函数流程图 、详细设计 1、车辆停车函数及流程图 车辆停车函数实现:记录停车信息包括车辆车牌号、停车时刻、停车车位 等。其流程如图3所示 图3车辆停车流程图 2、车辆离开函数及流程图 车辆离开函数主要实现:记录车辆离开的信息,以及便道上的车是否进入 车库中。其流程如图4所示。 开始 ?1[YY r输入离开车的车位停车场车有车 开始 ? 1 [Y Y r 输入离开车的车位 停车场车有车 停车场没有车 车辆离开 输出该车信息 便道上有车 1 Y I 显示便道上没有车 便道上车进停车库 输入便道上的车进车库时间 结束 图4车辆离开流程图 3、列表显示车场

文档评论(0)

1亿VIP精品文档

相关文档