数据结构实验(停车场问题)

数据结构实验(停车场问题)

ID:18207877

大小:124.00 KB

页数:6页

时间:2018-09-15

数据结构实验(停车场问题)_第1页
数据结构实验(停车场问题)_第2页
数据结构实验(停车场问题)_第3页
数据结构实验(停车场问题)_第4页
数据结构实验(停车场问题)_第5页
资源描述:

《数据结构实验(停车场问题)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《数据结构》课程实验实验报告题目:停车场管理专业:计算机科学与几技术班级:姓名:学号:完成日期:一、试验内容设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已经停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出场为它让路,待该辆车开出大门外,其他车辆再按次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用,试为停车

2、场编制按上述要求进行管理的模拟程序。以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。二、试验目的(1)深入了解栈和队列的特性,掌握栈和队列的存储方法。(2)掌握栈和队列的基本操作,如初始化、入栈(队列)、出栈(队列)等,并能在实际问题背景下灵活运用。三、流程图四、源程序代码#i

3、ncludevoidmain(){structcc1{inthm1,sk1;}a[5];//停车场structbd{inthm2,sk2;}b[5];//便道structcc2{inthm3,sk3;}c[4];//存放从停车场内退出的车intp=0,q=0,x=0,n,y,t,r,i,j,g,h,z;charm;printf("输入停车场容量和每分钟收费");scanf("%d%d",&n,&y);printf("输入数据:");for(;;){scanf("%c",&m);//判断输入数据if(m=='e'

4、

5、m=='E')break;scanf(

6、"%d%d",&t,&r);//t表示车牌号,r表示时间//车到达if(m=='a'

7、

8、m=='A'){if(p

9、

10、m=='D'){h=p;for(i=0;i

11、p)//如果车停在场内最后一位printf("%d号车在停车厂内停留了%d分钟,应交纳%d元钱.",t,r-a[i].sk1,y*(r-a[i].sk1));else{//在它之后进入的车辆先退出场为它让路for(j=p;j>i;j--){c[x].hm3=a[j].hm1;c[x].sk3=a[j].sk1;x++;}printf("%d号车在停车厂内停留了%d分钟,应交纳%d元钱.",t,r-a[i].sk1,y*(r-a[i].sk1));for(j=i;x-1>=0;x--,j++){//退出的车再进入停车场内a[j].hm1=c[x-1].hm3;a[j].s

12、k1=c[x-1].sk3;}}if(q!=0){//便道内的车进入停车场a[p].hm1=b[0].hm2;a[p].sk1=r;p++;for(j=0;j

13、=h&&i==z)printf("无该车.");}}}五、调试过程调试过程中,车离开的那一部分经常出现错误,运行结果和预想的不太一样,后来发现是停车场的计数器那出现了问题,使离开后再进入停车场的位置发生了错误。如果输入的离开时间比到达的时间小,则会出现付费为负值。六、结果分析

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。