停车场停车管理系统的课件_第1页
停车场停车管理系统的课件_第2页
停车场停车管理系统的课件_第3页
停车场停车管理系统的课件_第4页
停车场停车管理系统的课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、指导教师:数据结构课外实践报告班 级:小组成员:Company Logo 问题描述: 停车场停车管理系统: 设一个可以停放n辆汽车停车场,只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序停放,若车场内已停满n辆车,那么后来的车只能在门外的便道上等候;一旦有车开走,则排在便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先依次退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场。每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。 问题描述及分析 Company Logo需求分析: (1)题目中要根据车辆停留时间收费,故在定义结构

2、体时还需要一个时间的结构体用来保存车辆到达和离开的时间。 (2)由于停车场的进出符合栈的“后进先出,先进后出”的操作特点,因此,需要设一个栈来模拟停车场。 (3)根据便道停车的特点,先排队的车辆先离开便道进入停车场,符合队列的“先进先出,后进后出”的操作特点,因此,需要用一个队列来模拟便道。 (4)而中间车辆提出离开停车场,后到达的车辆都须先离开停车场为它让路,然后这些车辆再依原来次序进入停车场,而这个同样符合“后进先出,先进后出”的特点,因此还需一个栈来作为临时保存车辆的地方。问题描述及分析 Company Logo一、功能模块及数据结构描述功能模块图 :停车场停车管理系统车辆到达车辆离开信

3、息查询进入停车场若满进便道停车场信息查询便道信息查询车辆出停车场打印账单便道车进停车场管理员密码验证Company Logo一、功能模块及数据结构描述数据结构描述: (1)车辆信息的表示 车辆可以看成是一个节点,设计成一个结构体,车辆信息包括:车牌号,车辆到达时间,车辆离开时间,定义如下:typedef struct node char num10; /车牌号 Time reach; /保存车辆到达的时间 Time leave; /保存车辆离开的时间CarNode;Company Logo一、功能模块及数据结构描述(2)时间、栈和队列的定义 时间有小时、分钟和秒表示,即设计三个变量分别表示如下

4、:typedef struct time int hour; int min; int sec;Time;停车场内用栈表示:typedef struct NODE CarNode *stackMax+1; /栈用顺序表示 int top;SqStackCar;Company Logo一、功能模块及数据结构描述便道上的车辆表示:typedef struct car CarNode *data; /便道上的车用链表表示 struct car *next;QueueNode;typedef struct Node QueueNode *head; /设置头指针、尾指针 QueueNode *rear

5、;LinkQueueCar;Company Logo二、主要算法流程描述及部分核心算法(1)主函数的算法流程描述:主函数流程图Company Logo二、主要算法流程描述及部分核心算法(2)核心算法流程描述: 车辆到达:Arrival函数 主要通过if(Enter-toptop0)来保证栈不空,进而执行以下操作,然后用while(1)来确保输入要离开车辆位置的合法性,在由while(Enter-topposition)来判断离开车辆位置是否在最后,若在最后可直接离开,并打印账单;若不是最后,则用临时栈执行操作。Company Logo二、主要算法流程描述及部分核心算法离开函数的算法流程如下图:

6、Company Logo三、使用说明程序名为停车场停车管理系统.exe,运行环境为。测试数据: 最大容量Max定义为2,收费标准为元/秒 默认密码为:abc 依次选择1并录入的车牌号信息为:豫E8888,豫E6666,豫E9999。 选择2并输入车辆离开位置为1。程序执行后显示:程序执行后显示:Company Logo三、使用说明 输入密码正确后进入如下界面:输入收费标准(任意数字)后,进入主界面:程序执行后显示:. Company Logo三、使用说明SELECT: 在select后输入数字选择执行不同的功能。选择1:之后输入车牌号,打印出车辆到达信息。然后返回主界面。. . Company

7、 Logo三、使用说明选择2:之后输入要离开车辆的位置,打印出车辆的离开信息及账单,并 显示便道车辆进入停车场的信息。然后返回主界面。. . . Company Logo三、使用说明选择3:进入信息查询菜单,分为停车场信息、便道信息和返回主菜单选项 查询便道信息界面 . . . Company Logo四、问题及解决办法1、怎样来获取车辆到达和离开的时间信息?解决途径:通过查询相关书籍,调用和的头文件及相关函数,可以获取系统当前的时间。2、在开始输入车牌号的字符串时总是出错,便不能再执行。解决途径:通过上网查资料知道,输入字符时习惯性的会加Enter键然后再输下一个,这样相当于Enter也作为

8、一个字符读入,在输入前加上flushall()函数,用于清除输入的所有缓冲区即可。Company Logo四、问题及解决办法3、车辆离开时的输出信息中位置和车牌号不相符,导致信息查询中的信息也不正确。解决途径:经分析知道,开始出栈入栈的具体过程还没有分析透彻,中间车辆离开时,在其后的车辆进临时栈后要再调用Pop函数,其才能出栈成功,否则,相当于没有离开停车场,打印信息便会出错。但是这个程序目前还是有缺点尚未解决,如:1、可以记录车辆停留多天的记录而不是当天。2、如果便道的车离开,可以实现其离开且不收费。3、若输入车牌号信息重复,则显示输入错误。Company Logo总结通过这次对于停车场停车管理系统的设计,我们的收获如下:1、我们更深一步地体会到算法的应用,它的灵活性决定了它的广泛用途。 2、并且通过这个课程设计,我们加强了对数据结构知识的理解和掌握,尤其是栈和队列的应用。3、培养了我们严肃认真的做事作风,如果想要完成一项完美的设计,是需要正视的态度,绝对的耐心和缜密的思维的。Company Logo总结4、这个设计培养了我们发现并解决问题的能力,学会查找相关资料来寻找解决方案,并扩展了知识面。5、最重要的是,通过我们共同完成这个设计,我们体会到团队之间协调与合作的重要性,如果没有团队的共同努力,一个完美的程序是很难实现的。 总之

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论