数据结构停车场模拟管理程序的设计与实现_第1页
数据结构停车场模拟管理程序的设计与实现_第2页
数据结构停车场模拟管理程序的设计与实现_第3页
数据结构停车场模拟管理程序的设计与实现_第4页
数据结构停车场模拟管理程序的设计与实现_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、数据结构课程设计报告PAGE PAGE 14停车场模拟管理程序的设计与实现简介设计停车场模拟管理程序,要求实现4个大的功能模块程序功能介绍和操作提示汽车进入停车位的管理模块汽车离开停车位的管理模块查看停车厂停车状态的的查询模块数据结构的设计:停车场停放收费是按照时间来计算,首先要定义一个时间的结构体,并定义出一个最短时间。typedef struct time int hour; int min;Time;为了便于区分每辆汽车并了解每辆车当前所处的位置,需要记录汽车的牌照号码,停放地址和到达时间。typedef struct carint num;int position;Time t;dou

2、ble money;Car;创建栈来构建停车场。typedef structCar elemN+1;int top;Stack;创建队列来构建便道,方便汽车出入。typedef struct NodeCar data;struct Node *next;QueueNode;当停车场的停车位上都已停满了汽车,又有新的汽车到来时要把它调度到便道上,便道上的车辆要按照进入便道的先后顺序顺次序放在便道上。当有车从停车位上离开后,便道上的第一辆汽车就立即进入停车位上的某个车位。typedef structQueueNode *front;QueueNode *rear;LinkQueue; 三、功能(函

3、数)设计: 本程序从总体上分为四个功能模块,分别为: (1)程序功能介绍,和操作提示模块 (2)汽车进入停车位的管理模块 (3)汽车离开停车位的管理模块 (4)查看停车场状态的查询模块 主菜单主菜单查看停车场离开停车场进入停车场查看停车场离开停车场进入停车场函数功能:进入停车位函数:输入1后进入“进入停车场”函数,然后输入车牌号、到达时间。然后程序自动提示停放位置,若车位已满,程序将提示“车库已满,请稍等!”。进入离开停车场函数:输入2后进入“离开停车场”函数,然后车牌号、离开时间。若有此车牌号的车,程序自动显示要收取的费用,如果停车时间没超过最小时间,将提示“未使用车位,不收费”。若没有此车

4、牌号的车,程序将显示“没有这车”。序将显示整个停车场情况,有车显示车的数据,无车显示“无车”。四、界面设计:(1)用“*”和“n”(回车)来构出上下界。(2)在界内显示出程序功能介绍,和操作提示,用1234的序号区分。(3)用“t”(空格)对齐。五、程序设计:(1)void InitQueue 函数:便道初始化程序,使malloc返回的指针转化为指向QueueNode类型数据的指针。(2)int EnterQueu函数:给便道申请空间。(3)void InitStack函数:确保堆栈为空。(4)void Push函数:便道中的车入库。(5)int IsEmpty函数:判断车库是否为空。(6)i

5、nt IsFull函数:判断车库是否为满。(7)int GetTop函数:车离开车库。(8)int DeleteQueue函数:将便道中的车放入车库。(9)void In函数:汽车进入停车位的管理模块 。(10)void Money函数:计算停车花费。(11)void Out函数:汽车离开停车位的管理模块。(12)void print1函数:查看停车场状态的查询模块。 (13)void print2函数:查看通道状况。(14)void print函数:界面输出。车场是否为空车场是否为空否是开始初始化两个栈及一个队列进入主菜单车到达离开查找退出输入141234元素进栈判断栈是否为满栈元素出栈队列

6、中元素进栈元素进队列队列中的元素出队结束是车辆进临时栈判断便道是否有车便道进车场车场信息是否否函数的调用关系图 开始开始int main(void)InitStackInitQueue 1Swich(m)Printf函数Y 结束主函数流程图开始开始读取头函数判断输入的数字是否为1执行第一种情况执行其他情况YN判断输入的数字是否为4Y结束NN“到达函数”流程图输入车牌号输入车牌号车辆进便道输入停车时间结束停车场不满NY车辆停车,进入函数开始“离开函数”程序图YYN开始停车场有此车输入离开车的车位号输出“没有这车”车辆离开便道上有车便道上车进车位输入便道上车进车位的时间结束显示车道上无车YNAYY

7、“显示函数”流程图开始开始停车场是否有车输出停车场中车辆的信息显示停车场中没有车结束描述编写代码期间遇到的问题及其解决办法。Declaration missing 经常漏“;”号,和打出中文标点符号。在编译后发现错误,一一改正。访问结构体时,拼错结构体中的定义。Call of non-function 调用未定义函数。由于不正确的函数声明或函数名拼错造成的。更改函数名正常。Compound statement missing复合语句漏掉了大括号“”。补上后正常。还有各种小错误。六、运行与测试:1、测试的数据及其结果:1)连续有7辆汽车到来,牌照号分别为001、002、003、004、005、0

8、06、007,前5辆车应该进入停车位15车位,第6、7辆车应停入便道的1、2位置上。 (2)上面(1)中的情况发生后,让牌照003的汽车从停车场开走,应显示005、004的让路动作和006从便道到停车位的动作。 (3)随时检查停车位和便道的状态,不应该出现有空位而便道上还有车的情况。 (4)其它正常操作的一般情况。2、运行与测试期间遇到的问题及其解决办法。(1)问题1:输入一样的牌照号,程序不提示错误。解决:增加个输出错误的程序。问题2:车辆离开后,便道中的车不入车位。 解决:队列的指针指向栈。问题3:程序陷入死循环。 解决:while(1)的使用出错,更改位置。七、设计后的思考:通过本次课程

9、设计,谈谈对数据结构课程设计的体会。初次进行数据结构课程设计,我深刻感受到了程序在实际生活中的应用,各种函数分工明确,在主函数的调用下,有条不紊的运行着,就像人在社会中,每个人的有自己的职业一样。函数也是这样的。不得不说,课程设计是一项工作量大,繁琐枯燥,并且要求思维要高度集中的事,在最初的时候,我也是特别厌倦,不想打代码,看见代码就烦,但是经过这一星期的程序设计在这次程序设计课中,我突然发现写程序还挺有意思的。每当程序完美运行的时候,就感觉干成了一件大事,并且受益匪浅。讲道理,其实上学期的C语言加上本学期的数据结构,我其实都算不上真正的懂,还是处于懵懂的状态,老师讲的知识点也是听的马马虎虎,对程序的理解也是只言片语。但是经过这一星期的程序设计,我发现一个程序设计就是算法与数据结构的结合体,自己也开始对程序产生了前所未有的兴趣,其实想要在程序上有所突破,就是要多写代码,多多练习,在练习中才会发现自己

温馨提示

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

评论

0/150

提交评论