欢迎来到天天文库
浏览记录
ID:853173
大小:283.53 KB
页数:18页
时间:2017-09-20
《停车场模拟管理程序设计报告(附源代码)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、停车场模拟管理程序的设计与实现一、简介1.设计目的:理解线性表的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力。2.问题的描述:设停车场只有一个可停放几辆汽车的狭长通道,只有一个大门可供汽车进出。汽车在停车场内按车辆到达的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车辆开走,则排在便道上的第一辆汽车即可进入;当停车场内某辆汽车要开走时,由于停车场是狭长的通道,在它之后开入的车辆必须先推出车场为他让路,待车辆开出大门,为他让路的车辆再按原次序进入车场。试设计这样一个停
2、车场模拟管理程序。二、数据结构的设计:(1)为了便于区分每辆汽车并了解每辆车当前所处的位置,需要记录汽车的牌照号码和汽车当前的状态。(2)为了便于停车场的管理,要为每个车位分配一个固定的编号。(3)当停车场的停车位上都已停满了汽车,又有新的汽车到来时要把它调度到便道上,便道上的车辆要按照进入便道的先后顺序顺次序放在便道上,为便道上的每个位置分配一个固定的编号。当有车从停车位上离开后,便道上的第一辆汽车就立即进入停车位上的某个车位。(4)当某辆车离开停车场的时候,比他后进停车位的车要为他让路,而且当他开走之后让路的车还要按照原来的停
3、放次序再次进入停车位的某个车位上,为完成这项功能,定义一个结构体。三、功能(函数)设计:本程序从总体上分为四个功能模块,分别为:(1)程序功能介绍和操作提示模块(2)汽车进入停车位的管理模块(3)汽车离开停车位的管理模块(4)查看停车场状态的查询模块四、界面设计:本程序界面本着易于操作简单整洁而不失美观的理念,采用数字对应功能选项,结合详细的操作提示,使得操作方便快捷,界面清晰明朗。五、程序设计:1车辆进入停车场模块:·Arrive函数:有车进入停车厂;·Enter->top4、满,进入车站;2车辆离开停车场模块:·Leave函数:有车的话就要离开车位。·scanf("%d",&room):输入需要离开的车所在的位置,如果Enter->top>room,车辆出站。·W->head!=W->rear)&&Enter->toptop>0:判5、断车站内有没有车,如果Y,用for循环打印出站内的车位和车牌号的信息;如果N,则输入车场没有车,返回List函数。·List2函数:查询便道信息。·w->head!=w->rear:判断便道内有没有车,如果Y,用while循环打印出便道上车的信息;如果N,则输出便道内没有车,返回List函数。六、运行与测试:1、测试的数据及其结果:(1)前五辆车到达进入停车位:(2)后来的两辆车在便道等候:(3)牌照为CF003的车离开,CF004,CF005需要让道,CF006进入5号车位:(4)查询车场和便道里的信息(5)退出程序:2、运行与6、测试期间遇到的问题及其解决办法。问题1:在车辆离开时不能显示车辆让道的信息;解决办法:在离开函数中一个while循环中增加一个printf语句,通过循环可以显示全部需要让道的车辆。问题2:在进行进场出场信息的输入时,只能进行一次;解决办法:设置一个标志量flag和while循环,在每一次操作后返回到操作步骤。问题3:运行显示程序简介后,继续输入时没有清屏操作,导致运行结果不方便观察:解决办法:增加getch();system("cls");语句,实现按任意键继续,并清屏。七、结论:本停车场管理系统,可以进行车辆进入停车场和退出停车7、场以及停车厂内部车位和便道上的停车信息的显示三个步骤的操作。在车辆进入停车场进入模块中,如果进入停车场的车辆大于5,即车位里停放的车辆已满,后面的车自动进入便道等候;在车辆离开停车场模块中,在查找车辆过程中如果没有对应车辆能够显示出“对不起,输入有误,请重新输入!”,并有辅助栈保证从车位上出来的车不会改变顺序;车位出现空位时,便道上的车能自动进入车位,同时,便道上的车也可以直接离开停车场;信息查询模块,能够显示停车场车位和便道上等待车的信息。并有错误操作的信息提示。同样此程序存在一些不足之处。在显示模块,没有显示出开出停车场车辆的8、信息,在进一步修改补充时,可以添加车辆开出停车场的显示模块;车辆的信息过于简单,只有一个车牌,可以添加更加详细的车辆信息以及添加收费操作等功能。八、设计后的思考:此次课程设计,付出了很多的时间和经历,编程过程中,我看到了自己许多不足,例如程序编写的
4、满,进入车站;2车辆离开停车场模块:·Leave函数:有车的话就要离开车位。·scanf("%d",&room):输入需要离开的车所在的位置,如果Enter->top>room,车辆出站。·W->head!=W->rear)&&Enter->toptop>0:判
5、断车站内有没有车,如果Y,用for循环打印出站内的车位和车牌号的信息;如果N,则输入车场没有车,返回List函数。·List2函数:查询便道信息。·w->head!=w->rear:判断便道内有没有车,如果Y,用while循环打印出便道上车的信息;如果N,则输出便道内没有车,返回List函数。六、运行与测试:1、测试的数据及其结果:(1)前五辆车到达进入停车位:(2)后来的两辆车在便道等候:(3)牌照为CF003的车离开,CF004,CF005需要让道,CF006进入5号车位:(4)查询车场和便道里的信息(5)退出程序:2、运行与
6、测试期间遇到的问题及其解决办法。问题1:在车辆离开时不能显示车辆让道的信息;解决办法:在离开函数中一个while循环中增加一个printf语句,通过循环可以显示全部需要让道的车辆。问题2:在进行进场出场信息的输入时,只能进行一次;解决办法:设置一个标志量flag和while循环,在每一次操作后返回到操作步骤。问题3:运行显示程序简介后,继续输入时没有清屏操作,导致运行结果不方便观察:解决办法:增加getch();system("cls");语句,实现按任意键继续,并清屏。七、结论:本停车场管理系统,可以进行车辆进入停车场和退出停车
7、场以及停车厂内部车位和便道上的停车信息的显示三个步骤的操作。在车辆进入停车场进入模块中,如果进入停车场的车辆大于5,即车位里停放的车辆已满,后面的车自动进入便道等候;在车辆离开停车场模块中,在查找车辆过程中如果没有对应车辆能够显示出“对不起,输入有误,请重新输入!”,并有辅助栈保证从车位上出来的车不会改变顺序;车位出现空位时,便道上的车能自动进入车位,同时,便道上的车也可以直接离开停车场;信息查询模块,能够显示停车场车位和便道上等待车的信息。并有错误操作的信息提示。同样此程序存在一些不足之处。在显示模块,没有显示出开出停车场车辆的
8、信息,在进一步修改补充时,可以添加车辆开出停车场的显示模块;车辆的信息过于简单,只有一个车牌,可以添加更加详细的车辆信息以及添加收费操作等功能。八、设计后的思考:此次课程设计,付出了很多的时间和经历,编程过程中,我看到了自己许多不足,例如程序编写的
此文档下载收益归作者所有