2010类程序设计实践课程.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这是精心收集的精品经典资料,值得下载保存阅读!

《程序设计实践(下)》设计报告 姓名 学号 专业班级 提交日期 成绩 指导教师 问题解析(对问题的分析、解题思路与解题方法) 停车场拥有M个车位和一条进入停车场的便道,便道上最多停放N辆汽车。汽车要想进入车位,首先进入便道等候。若有空闲车位,则停车入位,否则在便道继续等候,直至有车位空出。若便道已经停满等候的汽车,后到达的汽车只能离开,选择其他停车场。设计一个停车场管理系统,模拟停车场的运作,并统计停车场的收入。 使用随机数产生某一时间段内进入和离开停车场的车辆数目; 存储并记录如下数据项:汽车到达和离去的时间及汽车的车号; 车辆到达时,提示汽车的停车位置编号(为车辆分配编号最小的可用车位),若车位已满给出相应提示; 汽车离去时,输出汽车在停车场内停留的时间和应交纳的费用。 对该停车场进行统计:统计每天到达、离开的车次,停车总时数、每天停车场的收入等。 问题分析: 1.如何将最小空车位给便道里的第一辆车? 2.如何判断该车是否该出车? 3.如何模拟时间的运行? 4.如何判断是否进车? 5.解决车牌号可能重复的问题?? 解题方法: 答1:将空车位放入优先级队列中,每次有车需要车位时,就将队列里面抛 出的数(车位号)给那辆车。 答2:利用rand函数进行判断,每个有车的车位在循环后其中的rate++;在rate大于或等于rand()%4出来的值时,出车,每个非可空的车位都要rand一次。 答3:利用外部的for循环,传入循环里面的参数,作为时间参数传入,并在for循环里面调用出车和进车函数。 答4:当便道非空,就进车 答5:为避免车号重复问题,这里定义了一个变量Num,来记录车号,开始值为-1,每进入一辆车(到便道里面),Num++; 解题思路: 便道要用到队列,于是自己导入了文件#includequeue.h(自己书写) 创建便道用以暂时性存储车辆车号信息。 开辟struct数组 struct CarSeat { int carNum; //该车位的车号,默认-1 int rate; //出车可能性,默认-1 int come; //进车时间,默认-1 };用来存储车位信息。 创建优先级队列,用来存储和排序空车位,于是自己导入文件#includeffg.h(自己书写) 续写车辆管理的进车和出车函数。 任务分工及进度计划 任务分工:独立完成; 进度计划:编写链队列,并将其作为一个.h文件保存,以便车辆管理类里面方便调用; 开辟struct数组,作为车位数组,设计struct结构体,车辆信息的储存到底需要保留哪些东西; 编写优先级队列,并将其作为一个.h文件保存,以便车辆管理类里面方便调用; 编写进车函数,将这个功能划分为两大模块,其一,对每次进车数进行判断,每次传入的车辆数小于或等于便道的大小;其二,对传入车辆进行判断,若便道已满且优先队列中得空车位数为零(0)。 编写出车函数,判断有车非空的struct结构体中的rate,在rate大于或等于rand()%4出来的值时,出车,并将空车位放入优先级队列。 编写时间模拟函数,利用for循环模拟时间,进行不断地出车进车,并输出相应值数据,在for循环中掉用出车和进车函数。 数据结构选择、算法设计(伪代码,算法思想) 数据结构: 空车位号利用优先级队列存储; 便道利用链队列存储; 所有车位利用struct数组存储; 算法设计: 链队: 入队:有车进入就开辟新节点,并将尾指针指向这个新建节点; 出队:返回头结点的数据,然后将头指针往后移动一个位置, 再将原节点的空间释放;

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档