




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程设计报告题目 :停车场模拟管理程序的设计与实现一、简介1设计目的:加强自己在课程中学习的相关算法和方法的具体应用,使自己进一步熟悉理解和掌握栈和队列的逻辑结构和存储结构的知识,进一步掌握在C或其他语言中应用这些算法的能力。并且在此基础上利用其进行编程与设计,实现程序的设计,进一步提高使用理论知识指导解决实际问题的能力,并在此基础上强化自己的实践意识,提高自己的实际动手能力和创新能力。2问题的描述:设停车场只有一个可停放几辆汽车的狭长通道,只有一个大门可供汽车进出。汽车在停车场内按车辆到达的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车辆开走,则排在便道上的第一辆汽车即可进入;当停车场内某辆汽车要开走时,由于停车场是狭长的通道,在它之后开入的车辆必须先推出车场为他让路,待车辆开出大门,为他让路的车辆再按原次序进入车场。试设计这样一个停车场模拟管理程序。并且可以进行汽车进入停车场、离开停车场、查看汽车当前所在位置以及查看停车场当前状态等操作。二、数据结构的设计:(1)为了便于区分每辆汽车并了解每辆车当前所处的位置,需要记录汽车的牌照号码和汽车当前的状态。(2)为了便于停车场的管理,要为每个车位分配一个固定的编号。(3)当停车场的停车位上都已停满了汽车,又有新的汽车到来时要把它调度到便道上,便道上的车辆要按照进入便道的先后顺序顺次序放在便道上,为便道上的每个位置分配一个固定的编号。当有车从停车位上离开后,便道上的第一辆汽车就立即进入停车位上的某个车位。(4)当某辆车离开停车场的时候,比他后进停车位的车要为他让路,而且当他开走之后让路的车还要按照原来的停放次序再次进入停车位的某个车位上,为完成这项功能,定义一个结构体。struct int base; int top;S;/栈struct int front; int rear; int length;Q;/队列三、功能(函数)设计: 对于这次停车场模拟管理程序的设计,总体上划分为四个模块实现,功能模块图,函数功能说明,具体功能描述如下:1、程序功能介绍和操作提示模块:说明程序的功能以及提示程序运行的操作。2、汽车进入停车位管理模块:实现汽车进入停车场。3、汽车离开停车位管理模块:实现停车场中的汽车离开。4、汽车当前位置查询模块:实现汽车当前所在位置的查看。5、停车场当前状态查询模块:实现停车场当前状态的查看。四、界面设计:、首先进入界面,显示功能菜单;、输入你所选择的功能代号:输入1:表示有汽车要进入停车场;输入2:表示有汽车要离开停车场;输入3:表示查看汽车当前状态所在位置;输入4:表示查看停车场当前状态的停车情况;输入0:表示退出停车场管理系统。五、程序设计:1、主函数:void main()、函数功能:利用函数调用的功能,实现、输出程序设计的最终想要的结果,即是形成一个停车场模拟管理系统,对所有汽车进行进入和离开停车场、查看汽车当前所在位置、查看停车场当前状态停车状况等相关操作管理。、在程序运行的过程中,调用了void menu()、int in(char * plate)、int chazhao(char * plate,int * num)、int out(char * plate)、int search(char * plate)、void state()等函数。、程序流程图:开始输入功能序号判断输入做相应处理提示输入错误结束2、界面函数:void menu()、函数功能:显示程序功能菜单,提示相关功能操作。、程序流程图:输入操作代号结束执行相应操作开始3、汽车进入停车场函数:int in(char * plate)、函数功能:管理汽车进入停车场。、程序流程图:strcpy(pathQ.rear,plate);Q.rear=(Q.rear+1)%pathsize;Q.length+;输入进站的车牌号plate结束if(Q.length!=pathsize)开始if(S.top5)strcpy(parkS.top+,plate);if(Q.rear+1)%pathsize!=Q.front)4、汽车离开停车场函数:int out(char * plate)、函数功能:实现汽车离开停车场;运行的过程中,调用了函数int chazhao(char * plate,int * num)。、程序流程图:输入离开的车牌号platefor(j=num;jS.top-1;j+)if(Q.length)chazhao(plate,&num);开始strcpy(parkj,parkj+1);S.top-;strcpy(parkparksize-1,pathQ.front);Q.front=(Q.front+1)%pathsize;Q.length-;结束5、查看汽车当前位置函数:int search(char * plate)、函数功能:可以进行查看汽车当前状态所在位置;运行的过程中,调用了函数int chazhao(char * plate,int * num)。、程序流程图:输入查看的车牌号plate结束chazhao(plate,&num);开始输出相应的位置6、查看停车场当前状态函数:void state()、函数功能:显示停车场当前状态停车情况。、程序流程图:开始结束输出相应的停车情况状态六、运行与测试:1、测试的数据及其结果:、进入停车场模拟管理系统界面:、输入测试的数据:汽车进入停车场:连续有7辆汽车到来,牌照号分别为CF001、CF002、CF003、CF004、CF005、CF006、CF007,前5辆车应该进入停车位15车位,第6、7辆车应停入便道的1、2位置上。显示输入后的结果:、测试的数据:汽车离开停车场。离开车牌号为:cf001。显示离开后的结果:、测试的数据:查看汽车当前状态所在的位置。查询车牌号为:cf005。显示查看的结果:、测试的数据:查看停车场当前状态停车情况。显示结果:2、运行与测试期间遇到的问题及其解决办法。(1)问题1:运行时,在没有头文件时,用了exit(1)语句,出现了错误;解决办法:添加头文件;(2)问题2:刚开始时,在程序运行int search(char * plate)函数后显示结果不是想象中的那么完美;解决办法:添加语句num=num+1;后,显示结果比较完美。七、结论:(1)在程序的设计过程中,因为是采用栈和队列的相关知识,因此在执行汽车进入和离开停车场等操作时,需要遵循栈(先进后出)和队列的基本原理。(2)由于在设计停车场管理系统时,定义车位和便道的长度均为五,所以为了方便起见,汽车不要输入太多记录,低于十辆左右为最佳。(3)在输入选项时不能输入字母,否则会死循环,建议不要乱输字母。八、设计后的思考:刚开始学习数据结构这门课时,感觉很难,看书看不懂,老师讲课也听不懂,做作业也不会做,好像什么都学不好,前途一片渺茫。为了学好这门课,为了更好的学习以后的专业知识,为以后的工作打下基础,我必须付出更多的努力。从那以后,我就将大部分的时间花在学习这门专业课上,加倍努力,除了多看课本,专心听课外,还额外的看了相应的课外资料书,遇到不懂得就问同学,与同学互相讨论。经过一个多学期的奋战,我终于看到了一点点希望:发现自己开始掌握了相应的一部分知识,例如链表、栈和队列、树以及图等知识,而且还学会了磁盘文件保存的知识。尤其是经过了这次的课程设计,我不仅学会了知识,还学会了将专业知识与实际问题联系起来,并且运用专业知识去解决实际问题。虽然这次课程设计,花了我不少的的时间,但是更重要的是,正是这些时间,让我见识到了数据结构这门课知识的重要性。通过这次课程设计,我还得到了一个体会,做一个程序,或者开发一个软件,应该着重从它的后台制作入手,不能做出一个中看不中用的程序或者软件。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村流动人口的社会服务研究试题及答案
- 关注2024年农艺师试题及答案
- 各校辅导员岗位面试问题及试题及答案
- 追踪2024农艺师试题及答案的变化
- 学生求职指导中辅导员的作用及试题及答案
- 2024年农艺师考试全景趋势与未来方向试题及答案
- 2024年园艺师考试难点破解试题及答案
- 农业生产的环境影响试题及答案
- 针对考场的考试题及答案
- 微专题 利用“垂线段最短”求最值
- 盐酸乙醇标准溶液配制方法
- 厂区动火作业安全规程
- 急诊科运用PDCA对急诊患者预检分诊登记系统使用率低原因分析品管圈鱼骨图柏拉图对策拟定
- 网络安全知识竞赛题库及答案 1000题
- 拉萨租房合同房屋租赁合同租房合同书
- 癌症疼痛三阶梯止痛疗法幻灯片
- 大象版科学(2017)六年级下册第一单元《生物的家园》单元测试卷及答案
- GB/T 4857.19-1992包装运输包装件流通试验信息记录
- GB/T 40581-2021电力系统安全稳定计算规范
- GB/T 24528-2009炭素材料体积密度测定方法
- 详解2021年《关于优化生育政策促进人口长期均衡发展的决定》ppt
评论
0/150
提交评论