您的位置: 主页 > 资讯中心 > 公司动态 >

数据结构实验--停车场管理

发布日期: 2020-12-24 05:04

  设停车场是一个可停放n辆汽车的狭长通道且只有一个大门可供汽车进出。汽车在停车场内按到达时间的先后顺序依次由北向南排列大门在最南端最先到达的第一辆车放在车场的最北端。若车场内已放满n辆车则后来的汽车只能在门外的便道上等待一旦有车开走则排在便道上的第一辆车即可开入当停车场内某辆汽车要离开时在它之后进入的车辆都必须先退出车场为它让路待该辆车开出大门外后其它车辆再按原次序进入车场每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。

  1.此停车场管理系统是在一个狭长的通道上的而且只有一个大门可以供车辆进出并且要实现停车场内某辆车要离开时在它之后进入停车场的车都必须先退出停车场为它让路待其开出停车场后这些辆再依原来的次序进场的功能。

  2. 设计两个堆栈其中一个堆栈用来模拟停车场另一个堆栈用来模拟临时停车场该临时停车场用来存放当有车辆离开时原来停车场内为其让路的车辆。至于当停车场已满时需要停放车辆的通道可以用一个链队列来实现。

  3.当停车场内开走一辆车时通道上便有一辆车进入停车场此时只需要改变通道上车辆结点的连接方式就可以了使通道上第一辆车进入停车场这个堆栈并且使通道上原来的第二辆车成为通道上的第一辆车此时只需将模拟通道的链队列的头结点连到原来的第二辆车上就可以了。

  4.对于要对停车场内的车辆根据其停放时间收取相应的停车费用可以记录下车辆进入以及离开停车场的时间再用时间差乘以相应的单价并且打印出最后的费用就可以实现了。

  要求程序输出每辆车到达后的停车位置停车场或便道上以及某辆车离开停车场应交纳的费用和它在停车场内停留的时间。

  首先定义用来模拟停车场的堆栈以及用来模拟通道的链队列为全局变量然后编写主函数在此主函数中实现对其它各个模块的调用。在主函数中首先调用option()函数出现欢迎用户使用的主界面然后提示用户进入此停车场管理系统后再出现一个供用户选择的界面在用户的选择过程中程序又分别调用车辆的到达、车辆的离开、停车场内停放车辆的信息以及退出程序这四个函数模块。其中在车辆的离开那个模块函数中又调用了打印离开车辆信息的函数在停车场内停放车辆信息的那个模块函数中又分别调用了显示停车场上车辆信息的函数以及显示便道上车辆信息的函数。最后从调鼐的这四个函数中回到主函数结束整个程序的运行。

  由于此停车场管理系统是分模块设计的而且在程序的实现过程中又使用了清屏函数所以运行时用户选择任务并且执行完任务后又会回到供用户选择功能的主界面因此整个程序从整体上来讲结构清晰使用方便。本程序的调试运行总体上情况良好但中间也出现了一些小问题。其中比较有代表性的主要问题有

  当停车场已经达到最大容量但仍有车辆进入停车场的时候运行界面上没有出现或者说出现了但又跳掉了“停车场已满该车辆需在便道上等待”的提示信息。经过查阅资料后在那一个printf语句后加了一个getch()此时程序运行结果就符合要求了。

  这个程序用来实现对停车场内车辆的管理整个操作界面为中文更加符合人性化的标准使得用户使用方便而且每一个操作都有提示使得初次接触该程序的用户也能很快适应程序的操作。

  这个程序操作简单对于车牌号只需输入车牌号上的数字就行而且对于进出停车场的时间也简化了操作只需输入当时的时刻就行没有具体到小时和分钟但也许这也是该程序不足之处所在。而且该程序也给用户提供了选择的机会当点击运行该程序后如果想退出程序可以输入n或N退出该运行程序。

  至于使用过程中的更具体的问题可以参照该报告书中调试分析那一项的屏幕截图整个程序的运行界面大致就如上述屏幕截图的内容。

咨询热线

400-690-123455