下载此文档

课程设计停车场管理.doc


文档分类:办公文档 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
《数据结构》………………………………………………………………………………………………2-…………………………………3-………………………………………4-…………………………………………………7-………………………………………………8附录程序源代码…………………………………………8-,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场有车开走,则排在便道上的第一辆车就进入停车场。停车场如有某辆车要开走,(判断其是否为第n辆车,进而判断是否需要让路)在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。(此时可以另设一个辅助栈,将编号大于要离开车的编号的车按退出次序入栈,待车开走后,再将辅助栈中的车依次出栈并进入停车场栈中)每辆车在离开停车场时,都应根据它在停车场停留的时间长短交费。(可以按每时刻价格缴费)如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。(在便道上的车要离开时,同样将其前面的车即编号小于它的车依次入辅助队列,待车开走后,再将辅助队列中的车依次出队并进入便道队列中)以下编制的程序为模拟该停车场的管理。,来设计一个停车场管理系统的程序。程序功能:输出每辆车到达后的停车位置,以及某辆车离开停车场时应交纳的费用和它在停车场停留的时间。如果不需交费,允许其离开,这时可不输出上述信息,提示其可以离开,不需交费即可。,程序运行时会显示主菜单,根据用户的选择显示不同的信息,提示用户作相应的操作。从看到该程序的要求及提示,知道本程序要用到栈和队列,这是主线,再根据编程时的具体要求,在加入其他的知识。具体参见以下数据结构及算法描述。(要给出流程图)表2-3停车信息表列名数据类型长度可否为空停车位置标志integer1Notnull车编号intNotnull车到达时刻clock_tNotnull车离开时刻clock_tNotnull应交纳费用doubleNull备注车到达、离开时刻均为clock_t的对象,要调用其函数clock(),知道该程序主要用到数据结构中栈和队列的知识。这是主线,在编程的时候,首先用一个栈CarStack表示停车场,而便道则用队列RoadQueue表示。根据程序的要求,当有车从停车场中离开时,首先需要判断该车是否为停车场最后一辆车,然后根据结果判断是否需要其他车为其让路。显然在让路的时候,,根据结果,,由于在车离开时要判断是否交费,所以需要存储每辆车的信息,,以便包含多个数据项。该停车场是按照车辆的停留时间进行收费的,所以我调用C++系统函数clock(),通过到达和离开时间差值来计算所需收取的费用。进入系统主菜单使用说明退出离开交费需要停车 程序自动生成到达车编号bh产生到达时刻t1=clock()标志位flag输入离开车的编号ph调用系统时间t2=clock()交费total_money图3-1 (可将测试过程抓图说明)在编写程序时,出现了很多问题,有些都是基本问题。例如:在让程序自动生成车编号的时候,我将编号bh的初值放在了循环里,结果每进一辆车的编号都是0。另外,在程序进行测试时,我将停车场的存储量设为1,发现当停车场满时,并不提示用户,“停车场已满,需要停在便道上!”最后发现需要将栈、队列和顺序表的初始化操作定义在循环外。这是因为每进行一个循环就会重新初始化一次。以上都是小问题,经过自己的检查能够修改正确。而下面的问题,不知道怎么解决,不能输出离开信息。对于上述问题,不知怎么修改,我就将程序给同学看,在她的帮助下,将这个问题解决了。在便道上的车进入辅助队列时,当车编号小于队列中剩余节点的编号时,while循环条件出错了。就是如下述代码(彩色部分):else{cout<<"您的车未进入停车场,不需交费!您可以离开!"<<endl;if(bh==(->ne

课程设计停车场管理 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xd3225
  • 文件大小187 KB
  • 时间2020-09-28