中 北 大 学
课程设计说明书
学 院、系: 专 业: 班 级: 学 生 姓 名: 设 计 题 目:
软件学院 软件工程
学 号: 停车场管理系统
起 迄 日 期: 2016年12月16日~2016年12月29日 指 导 教 师:
日期: 2016年12月29日
一 设计目的
《数据结构》课程主要介绍最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。进行数据结构课程设计要达到以下目的:?
了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
1. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 2. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
3. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二 任务概述 2.1、问题描述
设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在他之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆在依原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。 2.2、目的
具有操作简单、使用方便、功能先进等特点,停车场使用者可以在最短的时间进入或离开停车场,从而提高停车场的管理水平,取得更高的经济效益和良好的社会效益。位于停车通道处等候车位的用户能快速找到车位。用户取车离开时能安全有序的离开。同时辅以智能化设备和完善的管理软件来简化人的劳动,实现停车场车辆进入、场内监控以及计费收费等全过程的完全无人化管理;另一方面通过网络化管理实现能够在一个相对广阔的地域内(例如一个城市)了解多个停车场情况,提前了解停车情况,最终实现“随意”停车。 2.3、系统(或用户)特点
停车场管理系统利用现代科技技术管理车辆,提高了车辆管理的高效性、实用性、安全性、可靠性和车辆自动化管理的能力。有效的减少了人工的参与,从而最大限度的减少了人员费用以及由人员失误或人员舞弊造成的损失,大大提高整个停车场的经济性、安全性与使用效率。 2.4、基本要求
以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据列:汽车“到达”或“离去”信息,汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:在停车场内停留的时间和应缴纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。
3 模块划分
停车场管理系统
到达停车场离开停车场停车况场存放情 退出管理系统
图3.1 停车场管理系统主菜单
车辆到达停车场
录入车辆信息打印车辆信息 停车场已满,车辆停入便道
图3.2 车辆到达停车场
车辆正常驶入停车场
车辆离开停车场
输入离息开车辆信计算费用并提示车辆取出
车辆正常驶出停车场
未在停车场内,车辆驶出便
道
图3.3 车辆离开停车场
图3.4 停车场车辆存放情况
停车场车辆存放情况 打印停车场车辆存放情况 4 主要函数说明及其N-S图
Ⅰ.主函数
(1) 主函数的主要流程。
1) 初始化栈和队列,定义变量和指针。 2) 根据用户的输入,调用相关的处理函数。 (2) 函数说明。
1) 函数原型:int main(); 2) 功能:主函数。 3) 返回值:有。 (3) 主函数N-S图。
开始 初始化栈、队列,定义变量、指针 用户输入菜单选择数字 F 判断是否是数字1、2、3? T 是否是1? F T 车辆驶入 T 是否是2? F 车辆驶离 打印停车场 情况
图4.1 主函数N-S图
Ⅱ.主菜单模块
(1) 主要流程
1) 输入3个菜单项(退出、车辆到达、车辆离开)。 2) 循环等待用户输入菜单项。
3) 如果用户输入在0~2之间,返回菜单号。 (2) 功能:显示主菜单
Ⅲ. 车辆到达模块
主要流程。
1) 输入2个停放车辆的信息(车牌号、车辆到达时间)。 2) 判断停车场是否已满。
3) 如果停车场未满,打印车辆的车牌号、存车时间、停车位置。
4) 如果停车场已满,车辆停放于便道,打印车辆的车牌号、存车时间、停车位置。