1、 1 课程设计报告课程设计报告 泊车管理系统 摘要摘要 本系统根据 c+程序设计基础理论课上学习的程序设计中关于数据的输入、输出、与储存方法的基 础上,采用链表、结构、循环等方法来达到功能的实现。 关键词:c+、泊车管理、链表、结构 目录 一、需求分析.1 1.1 课程要解决的问题1 1.2 要求与限制条件1 1.3 预期功能与效果1 1.4 课程所需的软件平台1 二、整体设计2 2.1 功能模块的划分2 2.2 数据存储方式的处理2 三、详细设计.3 3.1 各个模块的功能说明3 3.2 程序流程图3 3.3 功能函数说明5 3.4 函数调用关系5 3.5 主要代码说明5 四、调试与测试10
2、 五、总结11 附录12 2 一、需求分析 1.1 课程要解决的问题 泊车管理系统 假定有 n 个车位,汽车在到来的时候首先选择车位,然后记录当前停车的时间,在取车的时候再记 录取车时间,根据停了多长时间来给出费用。 1.2 要求与限制条件 可以固定停车费用,也可以选择输入停车费用。 查看当前有多少车位,有哪些是空闲的。 选择停车的车位,并记录当前时间。 选择取车,并记录时间。 根据停车时间,计算费用,并打印出明细。 1.3 预期功能与效果 进入系统后模拟车辆到来时可以查看空闲车位,并填写车辆信息进行存车操作。当车辆驶出时,可 以根据车辆信息查询存车位置,与根据存车时间并进行付费,最后显示明细
3、。 1.4 课程所需的软件平台 Microsoft Visual Studio 2005 3 二、整体设计 2.1 功能模块的划分 要达到泊车管理功能的实现需要四大模块, 停车场链表模块, 选择操作模块, 存车模块, 取车模块。 2.2 数据存储方式的处理 通过建立停车场链表在存车时将车辆信息与存车时间存入链表, 在取车时将取车时间存入链表, 通 过链表中的存车时间与取车时间计算存车费用。 4 三、详细设计 3.1 各模块功能说明 停车场链表模块 通过链表将一百个停车位连接起来,运用结构将停车位的信息:车位号、是否有车、车牌号、存车 时间、取车时间包含进去。车位号是整型,用布尔型来表示是否有车
4、,有车为 1,无车为 0。用字符串 来储存车牌号,共五位。用 do-while 语句来输入时间,如果输错则可以从新输入。 选择操作模块 通过 do-while 语句与 switch 选择语句来选择要执行的操作。 在 do-while 语句中选择要做的操作, 如果输入错误则会返回选择操作界面从新选择。用 switch 语句来选择要做的操作,再通过调用函数来 执行操作。 存车模块 利用调用函数,将链表调入函数中,然后遍历链表选出适合的车位,输入选择的车位,若无此车位 则返回操作选择界面,若有此空车位,则输入车牌号,利用 do-while 语句输入时间信息进入链表。 取车模块 同样调用函数,利用遍历
5、链表将符合要求的车辆找出,若无符合的车辆,则返回选择操作界面。若 找到符合的车辆则输入取车时间,然后系统会根据存车时间与取车时间来计算存车费用,最后打印出明 细。 3.2 程序流程图 5 泊车管理系统 存 车 退 出 程 序 取 车 空车位 输 入 车 牌 号 输 入 存 车 时 间 数据存储完 毕 车牌号 输 入 取 车 时 间 输 出 所 需 费 用 , 打 印 明 细 结束 是 否 是 否 6 3.3 功能函数说明 come(head) :自定义函数,将链表调入函数中,通过遍历链表将符合的车位选出,输入选定的车 位,再次遍历链表,找到适合的车位,将车辆信息输入链表中。 leave(head) :自定义函数,将链表调入函数中,输入查找条件,通过遍历链表选出符合的车辆, 输入取车时间进入链表中。 3.4 函数调用关系 主函数调用 come(head)与 leave(head)两个自定义函数。 3.5 主