- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
停车场管理系统数据结构课设报告精选
数据结构课程设计停车场管理系统目 录一、课设目的2二、问题描述2三、基本要求2四、详细设计3(1)原理分析3(2)功能模块3(3)用户手册6(4)流程图6(5)测试用例7(6)测试目的7(7)测试要求7五、程序源码7六、测试结果13七、课设总结15八、参考文献15一、课设目的了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程中的问题分析,系统设计,程序编码,测试等基本方法和技能;提高综合应用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发和一般规范进行软件开发,培养软件工作者所应具有的 科学的工作方法和作风。二、问题描述设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。三、基本要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表实现。详细设计(1)原理分析: 栈是一种只能在一段进行输入和输出操作的线性表,表尾称为栈顶,表头称为栈底。栈的主要特点是“后进先出”,即后进栈的元素先处理,停车场的容量即为栈的存储空间。 队列是限定仅能在表的一段进行插入,在表的另一端进行删除的线性表。队列中可以插入的一段称为队尾,可以删除的一端称为队首。队列的主要特点是“先进先出”。 停车场管理系统是充分利用数据结构中栈和队列的思想实现的,用到两个堆栈,一个用来模拟停车场,另一个为临时栈,存储为离开停车场的车辆让道的其他车辆;一个队列结构,存储便道的车辆信息。typedef struct{//定义栈,表示停车场CarNode *base;//停车场的堆栈底CarNode *top;//停车场的堆栈顶int stacksize;//停车场的容量}Park;typedef struct{//定义队列,表示便道CarPtr front;//便道的队列的队头CarPtr rear;//便道的队列的队尾int length;}Shortcut;(2)功能模块:车辆到达:a、若栈不满,车辆进栈,停到停车场; b、若栈满,车辆入队,停到便道; Status Arrival(Park P,Shortcut S) {int number,ar_time; //对进站车辆的处理: printf(请输入车牌号:); //记录车牌号,时间,并根据停车场 scanf(%d,number); //是否满来判断入栈还是入队列 printf(进场的时刻:); scanf(%d,ar_time); if(P.stacksizeSIZE){ CarNode c; c.number=number; c.ar_time=ar_time; Push(P,c); printf(该车应停在第%d号车道.\n,P.stacksize); } else { EnQueue(S,number,ar_time); printf(停车场已满,请暂时停在便道的第%d个位置.\n,S.length); } return OK;}车辆离开:如果队列不空且栈不满,队列上的车出队入栈。Status Leave(Park P,Park P1,Shortcut S){ int number,le_time,flag=1,money,ar_time; //对离站车辆的处理: printf(请输入车牌号:); // 记录车牌号,时间,停车费用 scanf(%d,number);
您可能关注的文档
- 做一个有道德的人主题班会.ppt
- 智能小车运动控制系统的设计.doc
- 偏瘫早期康复训练-滕金蓉.ppt
- 智能建筑与综合布线.ppt
- 做一名合格的团员.ppt
- 做讲道德有品行的合格党员-111.pptx
- 做读书笔记的方法.doc
- 停电应急预案.ppt
- 做诚信的人_才.ppt
- 做时间的主人主题班会.ppt
- ZLG(广州智联科技)车身域控制评估板IBCM-S32K-EVB-S32K1用户手册.pdf
- 百度AI开放平台 智能硬件 A100S+mini 说明书.pdf
- 投资者业务预填单功能操作手册 用户手册.pdf
- 浙江省青少年运动员代表资格年度注册教程.pdf
- ABB ABB真空断路器VD4 CPT 500说明书.pdf
- Dentsply士诺拉牙科设备XIOS XG USB Module Sensors用户手册.pdf
- ABclonal ELISA Kit RK00172 RM00716 RM00713 RM00714 RM00715 说明书用户手册.pdf
- 英威腾英威腾iMars B系列光伏并网逆变器XG50-70KTR说明书.pdf
- Paiwang北京派网软件网络应用层缓存加速引擎软件iXCache使用说明书.pdf
- Abclonal 阿贝尔诺尔 ELISA试剂盒 RK00150 V2.0 说明书.pdf
原创力文档


文档评论(0)