欢迎来到天天文库
浏览记录
ID:61486169
大小:573.95 KB
页数:23页
时间:2021-02-05
《停车场停车管理.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、软件学院综合训练项目报告书课程名称数据结构项目名称停车场停车管理专业班级软件九班组别第X组成员XXXXXXXXXX任课教师XXXXX目录1.设计时间………………………………………………………12.设计任务………………………………………………………13.设计内容………………………………………………………13.1问题分析…………………………………………………13.2程序设计…………………………………………………23.2.1数据类型的定义……………………………………23.2.2主程序的流程及函数的调用关系图………………33.2.3主要函数伪码算法………
2、…………………………41.菜单函数伪码…………………………………………42.主函数伪码……………………………………………43.3测试与分析………………………………………………73.3.1测试…………………………………………………73.3.2分析…………………………………………………103.4代码………………………………………………………104.总结与展望……………………………………………………181设计时间2014.12.9—2014.12.162设计任务设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达
3、时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入停车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短缴纳费用。试为停车场编制按上述要求进行管理的模拟程序,程序运行要有相应功能选择菜单。3设计内容3.1问题分析通过栈和队列结构解决问题。栈以顺序结构实现,队列以链表结构实现由于停车场是一
4、个狭窄通道,而且只有一个大门可供汽车进出,问题要求汽车停车场内按车辆到达时间的先后顺序,依次由北向南排列。由此很容易联想到数据结构中的堆栈模型,因此可首先设计一个堆栈,以堆栈来模拟停车场,我设计用顺序存储结构来存储停车场内的车辆信息,并给车辆按进栈顺序编号,当停车场内某辆车要离开时,在他之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入停车场。这是个一退一进的过程,而且让道的汽车必须保持原有的先后顺序,因此可再设计一个堆栈,以之来暂时存放为出站汽车暂时让道的汽车。当停车场满后,继续进来的汽车需要停放在停车场旁边的便道
5、上等候,若停车场有汽车开走,则按排队的先后顺序依次进站,最先进入便道的汽车将会最先进入停车场,这完全是一个先进先出模型,因此可设计一个队列来模拟便道,队列中的数据元素设计成汽车的车牌号,并以链表的形式存储。另外,停车场根据汽车在停车场内停放的总时长来收费的,在便道上的时间不计费,因此必须记录车辆进入停车场时的时间和车辆离开停车场时的时间,然后计算、显示费用情况。3.2程序设计3.2.1数据类型的定义Typedefstruct{charcar_number[20];chartime[5];}car;typedefstruct{carcars[N];
6、inttop;}Stack;typedefstructA{structA*next;charcar_number[20];chartime[5];}list;typedefstruct{list*rear;list*head;}Queue;3.2.2主程序的流程及函数的调用关系图3.2.3主要函数伪码算法1.菜单函数伪码voidMenu(){Print停车场停车管理系统");Print==================================Print
7、1--进入停车场
8、Print
9、2--出停车场
10、Print
11、3--
12、显示停车场和便道内的车辆
13、Print
14、0--返回
15、Print==================================Print请输入菜单号(0-3):}2.主函数伪码main{Stackpark,pa;park.top=0;pa.top=0;Queuelobby;Init_Queue(lobby);doubleunit_price=0;print请输入单价(元/分钟):scanfunit_pricegetchar();charch;carca;菜单函数Scanfchwhile(ch!='0'){charch2=getcha
16、r();if(ch2!=''){ch='a';charerror[40];gets(error);print输入错误!请重新输入。
此文档下载收益归作者所有