停车场模拟实验报告.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
停车场模拟实验报告

数学与计算机学院 数据结构 实验报告 年级 大二 学号********** 姓名 ****** 成绩 专业 电气信息类(计算机) 实验地点 主楼402 指导教师 实验项目 停车场模拟管理程序的设计与实现 实验日期 2010年10月21日 一、实验目的和要求   通过实验进一步理解栈和队列的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力。 二、问题描述 设停车厂只有一个可停放几辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门后,为它让路的车辆再按原次序进入车场。在这里假设汽车不能从便道上开走。 三、数据结构设计 为了便于区分每辆汽车并了解每辆汽车当前所处的位置,需要记录汽车的牌照号码和汽车的当前状态,所以为汽车定义一个新的类型car,具体定义如下:   struct car //汽车信息类 { string license_plate; //汽车牌照号码 char state; //汽车当前状态,字符s表示停放在停车位上, //字符p表示停放在便道上,每辆车的初始状态用字符i表示 }; struct stopping //停车位栈 { car stop[MAX_STOP]; //各汽车信息存储空间 int top; //用来指示栈顶位置的静态指针 };struct pavement //便道队 { car pave[MAX_PAVE]; //各汽车信息存储空间 int front,rear; //用来指示队头和队尾的静态指针 }; struct buffer //辅助栈 { car buff[MAX_STOP];//各汽车信息存储空间 int top;//用来指示栈顶位置的静态指针 };  (1)中的情况发生后,让牌照号为JF003的汽车从停车厂开走,应显示JF005、JF00的让路动作和JF006从便道到停车位上的动作。 (3)随时检查停车位和便道的状态,不应该出现停车位有空位而便道上还有车的情况。 程序容错性的测试,当按键输入错误的时候是否有错误提示给用户指导用户正确操作,并作出相应处理保证程序健康的运行。   输入的指令有误:   进入停车场时,输入的车牌号码已经在停车场中:   离开停车场时,输入的车牌号不在停车场中:   经过反复运行和测试,程序的容错性能良好,界面简洁友好,运行稳定可靠,符合实际操作规范,基本上达到了模拟停车场管理的要求。 六、实验完成后的思考 通过本程序的设计训练掌握了栈和队列的定义和使用方法,对使用C++语言编码来验证数据结构的理论知识有了更深层次的理解,达到了实验目的。 通过在设计过程在的思考,对使用现有知识来利用计算机来解决实际问题确立了信心,为今后的程序设计奠定了一定的心理上和技术上的准备。 由于时间仓促和个人能力有限,程序中还有一些需要完善的地方,例如,对停放到停车场的汽车按时间进行收费管理,程序界面可以使用图形方式使之更美观等。今后,还要多练习,增强自己的能力。 程序代码 #include stdafx.h #includestring #includeiostream using namespace std; const int MAX_STOP=5; const int MAX_PAVE=100; struct car//汽车信息类 { string license_plate; //汽车牌照号码 char state; //汽车当前状态,字符s表示停放在停车位上, //字符p表示停放在便道上,每辆车的初始状态用字符i表示 }; struct stopping //停车位栈 { car stop[MAX_STOP]; //各汽车信息存储空间 int top; //用来指示栈顶位置的静态指针 }; struct pavement //便道队 { car pave[MAX_PAVE]; //各汽车信息存储空间 int front,rear; //用来指示队头和队尾的静态指针 }; struct buffer//辅助栈 { car buff[MAX_STOP]; int top; }; static stopping *stopping1; stati

文档评论(0)

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

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

1亿VIP精品文档

相关文档