数据结构-3期(KC002)实训项目库万达停车场管理系统设计.docx

数据结构-3期(KC002)实训项目库万达停车场管理系统设计.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
万达停车场管理系统设计 一、项目描述 某公司有一个地下停车场,此停车场是一条可以停放n辆汽车的狭长通道,且只有一个大门可以供车辆进出,如图11-6所示。车辆按到达停车场时间的早晚依次从停车场最里向大门口处停放(最先到达的第一辆车放在停车场的最里面)。停车场内如果有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。如果停车场满,则后来的车只能在停车场大门外的便道上等待。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短收费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆次序。此案例利用数据结构的相关知识,采用C语言实现新生报到注册系统设计。为了达到较好的教学效果,部分功能简化,知识易理解,算法易实现。源程序见数字化资源。 车位 车位 车位 车位 车位 便道 图11-6停车场示意图 二、项目需求分析 本系统实现的功能及其具体描述如下。 (1)以栈S作为停车场,栈S1作为让路的临时停车点,队列Q作为车等待时用的便道。stack[Max+1]作为车场能够容纳的车辆数,num[10]作为车所在位置的编号,并且限定车场最多能够容纳10辆车。 (2)用户根据系统所规定并提示的要求输入有关内容,车场所能容纳的车辆数由收费人员来确定,车辆离开时,车主还可以得到收据,便于收费的管理使用;并且系统程序所提供的一些信息可通过特殊硬件显示出来,供车主了解信息,准确有效的停车。 (3)程序应该能够显示当前存车信息以及等待车的信息,便于管理人员对车辆进行管理,并且能够给等待的车提供一些信息,便于他们能够及时的停车。 (4)程序执行的命令为:输入进站信息-输入出站信息-打印收据。 系统具体功能模块图如图11-7所示,流程图分为车辆到达如图11-8所示、车辆离开如图11-9所示和存车信息如图11-10所示。 图11-7系统功能模块图 图11-8车辆到达流程图 图11-9车辆离开流程图 图11-10存车信息流程图 三、项目知识目标 该案例设计过程中涉及C语言程序设计课程相关知识点,并涉及数据结构课程相关知识点,各个知识点的具体应用如下。 (1)掌握栈和队列的存储结构,栈和队列的存储结构包括顺序结构和链式结构,考虑到功能易于实现,该案例中栈以顺序结构实现,队列以链表结构实现。 (2)掌握结构体定义方法,该案例应用到结构体的知识,时间信息结构体成员包括时、分,车辆信息结构体成员包括车牌号、到达时间、离开时间。 四、项目核心算法及实现 (1)车辆进站功能实现,停车场可以设置车位个数,不能超过10个。车辆进站时输入车牌号,如果车位未满,进入停车位,开始计时,如果车位已满,进入等待区。案例演示如图11-11和图11-12所示。 int Arrival(SeqStackCar *Enter,LinkQueueCar *W,int n) //车辆到达 { CarNode *p; QueueNode *t; 源 源程序:万达停车场管理系统 int a,b; p=(CarNode *)malloc(sizeof(CarNode)); flushall(); printf(\n请输入车牌号(七位,例:陕A12345):\n); printf(请严格按照要求输入车牌号,否则系统会出错!\n); do{ a=strlen(陕A12345); b=strlen(gets(p-num)); fflush(stdin); if(a!=b) { printf(输入车牌号格式错误,请重新输入(七位)!\n); gets(p-num); fflush(stdin); } else break; if(a!=b) printf(输入车牌号格式错误,请重新输入(七位)!\n); }while(a!=b); if(Enter-topn) //车场未满,车进车场 { Enter-top++; printf(\n车辆在车场第%d位置.,Enter-top); fflush(stdin); printf(\n请输入到达时间:/**:**/); scanf(%d:%d,(p-reach.hour),(p-reach.min)); fflush(stdin); do{ if(p-reach.hour0||p-reach.hour=24||p-reach.min0|| p-reach.min=60) { printf(输入的时间格式有错,请重新输入!); scanf(%d:%d,(p-reach.hour),(p-reach.min)); fflush

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档