欢迎来到天天文库
浏览记录
ID:55280866
大小:109.50 KB
页数:9页
时间:2020-05-08
《数据结构实验(停车场问题)罗彬彬.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《数据结构》课程实验实验报告题目:停车场管理专业:电子信息班级:1101姓名:罗彬彬学号:0909110620一、试验内容设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已经停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出场为它让路,待该辆车开出大门外,其他车辆再按次
2、序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用,试为停车场编制按上述要求进行管理的模拟程序。以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。二、试验目的(1)深入了解栈和队列的
3、特性,掌握栈和队列的存储方法。(2)掌握栈和队列的基本操作,如初始化、入栈(队列)、出栈(队列)等,并能在实际问题背景下灵活运用。三、流程图四、源程序代码/*停车场管理系统*/#include#include#include/*------------------------------------------------------------------------------*/#defineMAX2/*车库容量*/#defineprice0.
4、05/*每车每分钟费用*/typedefstructtime{inthour;intmin;}Time;/*时间结点*/typedefstructnode{charnum[10];Timereach;Timeleave;}CarNode;/*车辆信息结点*/typedefstructNODE{CarNode*stack[MAX+1];inttop;}SeqStackCar;/*模拟车站*/typedefstructcar{CarNode*data;structcar*next;}QueueNode;type
5、defstructNode{QueueNode*head;QueueNode*rear;}LinkQueueCar;/*模拟通道*//*------------------------------------------------------------------------------*/voidInitStack(SeqStackCar*);/*初始化栈*/intInitQueue(LinkQueueCar*);/*初始化便道*/intArrival(SeqStackCar*,LinkQueueCa
6、r*);/*车辆到达*/voidLeave(SeqStackCar*,SeqStackCar*,LinkQueueCar*);/*车辆离开*/voidList(SeqStackCar,LinkQueueCar);/*显示存车信息*//*------------------------------------------------------------------------------*/voidmain(){SeqStackCarEnter,Temp;LinkQueueCarWait;intch;In
7、itStack(&Enter);/*初始化车站*/InitStack(&Temp);/*初始化让路的临时栈*/InitQueue(&Wait);/*初始化通道*/while(1){system("cls");printf("1.车辆到达");printf("2.车辆离开");printf("3.列表显示");printf("4.退出系统");printf("车库总容量为2,每车每分钟费用为0.05元");while(1){scanf("%d",&ch);if(ch>=1&&ch<=4)break
8、;elseprintf("请选择:1
9、2
10、3
11、4.t");}switch(ch){case1:Arrival(&Enter,&Wait);break;/*车辆到达*/case2:Leave(&Enter,&Temp,&Wait);break;/*车辆离开*/case3:List(Enter,Wait);break;/*列表打印信息*/case4:exit(0);/*退出主程序*/default:brea
此文档下载收益归作者所有