- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数学与计算机学院 数据结构 实验报告
年级 大二 学号********** 姓名 ****** 成绩
专业 电气信息类(计算机) 实验地点 主楼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;
static pavement *pavement1;
stati
您可能关注的文档
- 信息工程学院先进班集体评比细则.doc
- 信息技术培训班教程.doc
- 信息技术基础知识信息技术基础知识一.doc
- 信息技术基础知识点(1.3.6).doc
- 信息技术学业水平测试知识点总结.doc
- 信息技术基础知识要点2.doc
- 信息技术和综合实践活动优质教学资源评选使用活动的方案1.doc
- 信息技术教学设计案例绘图工具栏.doc
- 信息技术教师专业化发展方案设计文献综述.doc
- 信息技术学业水平考题汇总.doc
- 2025湖南娄底双峰县城乡建设投资集团有限公司下属子公司专业管理人才引进招聘备考题库含答案详解(名师.docx
- 2025浙江绍兴市凯泰特种纤维科技有限公司招聘4人备考题库及答案详解(最新).docx
- 2025浙江宁波象山交通开发建设集团有限公司第三期招聘工作人员1人备考题库完整参考答案详解.docx
- 2026-2031宠物药品行业发展分析与投资前景分析报告.docx
- 2025浙江绍兴滨海新区潮涌人力资源有限公司招聘非编制合同制职工(非劳务派遣)1人备考题库及答案详解.docx
- 2025湖北襄阳高新城乡基础设施建设维护有限公司招聘拟聘备考题库及答案详解(必刷).docx
- 2025浙江绍兴市凯泰特种纤维科技有限公司招聘4人备考题库附答案详解(培优).docx
- 医院采购部门礼仪与服务.pptx
- 医院公共卫生服务能力评估.pptx
- 医院感染监测与干预总结.pptx
原创力文档


文档评论(0)