欢迎来到天天文库
浏览记录
ID:879957
大小:380.03 KB
页数:22页
时间:2017-09-22
《课程设计停车管理系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计报告课程名称:数据结构课程设计设计题目:停车场管理系统系别:计算机系专业:组别:学生姓名:学号:起止日期:年月日~年月日指导教师:目录第一章需求分析11.1课程设计任务及要求11.1.1题目11.1.2问题描述11.1.3基本要求11.1.4测试数据11.2课程设计思想11.3运行环境及开发工具…………………………………………………..2第二章概要设计22.1停车场管理流程22.2主要模块设计22.3程序流程及框图42.4设计方法及其原理4第三章详细设计53.1抽象数据类型定义53.2数据类型定义73.3主要模块的程序描述8第四章调试与操作说明14第五章课程设
2、计总结与体会18第六章致谢18第七章参考文献19第八章附录19第一章需求分析1.1课程设计任务及要求1.1.1题目:停车场管理1.1.2问题描述设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在南端,最先到达的第一辆车停放在停车场的最北端),若停车场内已停了n辆汽车,则后来的汽车只能在门外的通道上等候,一旦有车开走,收排在通道上的第一辆车即可开入;当停车场内每辆车要离开时,在它之后进入的车辆必须先退出停车场为其让路,待该辆车开出大门,其他车辆再按原次序进入停车场,每辆停放在停车场的车在它
3、离开停车场时必须按它停留在停车场内的时间长短交纳停车费。试为停车场编写按上述要求进行管理的模拟程序。1.1.3基本要求①要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理;②要求处理的数据元素包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻;③该系统完成以下功能:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费);④要求栈以顺序结构实现,队列以链表实现。1.1.4测试数据设n=2,输入数据为:(‘A’,1,5),(‘A’,
4、2,10),(‘D’,1,15),(‘A’,3,20),(‘A’,4,25),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。其中‘A’表示到达,‘D’表示离开,‘E’表示输入结束。1.2课程设计思想此停车场管理系统是在一个狭长的通道上的,而且只有一个大门可以供车辆进出,并且要实现停车场内某辆车要离开时,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场的功能,就可以设计两个堆栈,其中一个堆栈用来模拟停车场,另一个堆栈用来模拟临时停车场,该临时停车场用来存放当有车辆离开时,原来停车场内为其让路的车辆。至于当停
5、车场已满时,需要停放车辆的通道可以用一个链队列来实现。当停车场内开走一辆车时,通道上便有一辆车进入停车场,此时只需要改变通道上车辆结点的连接方式就可以了,使通道上第一辆车进入停车场这个堆栈,并且使通道上原来的第二辆车成为通道上的第一辆车,此时只需将模拟通道的链队列的头结点连到原来的第二辆车上就可以了。1.3运行环境及开发工具该停车场管理系统程序运用C语言编写,其编译环境在MicrosoftVisualC++6.0。第二章概要设计2.1停车场管理流程:﹙1﹚当车辆要进入停车场时,检查停车场是否已满,如果未满则车辆进入停车场;如果停车场已满,则车辆进入便道等候。﹙2﹚当车
6、辆要求出栈时,先让在它之后进入停车场的车辆退出停车场为它让路,再让该车退出停车场,让路的所有车辆再按其原来进入停车场的次序进入停车场。之后,再检查在便道上是否有车等候,有车则让最先等待的那辆车进入停车场。2.2主要模块设计2.2.1此停车场管理系统,主要分为以下六个模块:(1)主程序模块voidmain(){初始化停车场;初始化让路的临时栈;初始化便道;输出停车场管理主菜单:车辆到达、车辆离开与计费、查看停车场信息;}(2)入场模块intArrival(SeqStackCar*,LinkQueueCar*){车场未满,车进车场;车场已满,车进便道;}(3)出场模块vo
7、idLeave(SeqStackCar*Enter,SeqStackCar*Exit,LinkQueueCar*W){车辆离开停车场;}(4)输出模块voidList(SeqStackCarS,LinkQueueCarW){输出停车场信息;}(5)栈模块——实现栈的抽象数据类型(6)队列模块——实现队列的抽象数据类型2.2.2在以上各个模块中,出现的调用的函数为:voidInitStack(SeqStackCar*s);intInitQueue(LinkQueueCar*Q);voidwelcome();intArrival(SeqStackCar*
此文档下载收益归作者所有