HUNAN UNIVERSITY课程实验报告题目:停车场管理学生姓名:学生学号:专业班级:指导老师:完成日期:一. 需求分析1. 输入形式第一次输入一个正整数,代表停车场容量大小。然后输入三个值,分别为字符、正整数、正整数,中间用空格隔开,分别代表车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。其中字符必须为“A,D,E"三者之一。 输入格式为:“A15"、“D115”和“E 0 0“. 当用户输入的字符不是 ADE 或者输入的不是正整数时,提示用户输入错误并重新输入2. 输出形式若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。 (注:本程序中默认停车一小时收费 10 元)3. 程序功能本程序可通过用户输入的车辆信息,输出该车的停车位置或者停车时间及应缴费用4. 测试数据请输入停车场容量:5A 1 1 车停在停车场第 1 个位置A 2 2 车停在停车场第 2 个位置 A 6 6 车停在停车场第 3 个位置D 1 4 停车时间:3 缴纳费用:¥30D 2 6 停车时间:3 缴纳费用:¥30F C 19。5 输入有误,请重新输入E 0 0二. 概要设计1. 抽象数据类型将每辆车模拟成一个对象,每个对象具有车牌号时间等属性,所以定义一个Car 类存储这些信息class Car{public:intCarNumber;//车牌号码intArriveTime;//到达时间intLeaveTime;//离开时间}使用栈模拟停车场,其 ADT 设计:ADT stack 数据对象:Car 类 数据关系:线性关系基本操作: void clear();//栈的初始化boolpush(const Car& item);//栈的插入操作bool pop(Car& it);//栈的删除操作booltopValue(Car& it)//栈的顶层元素int length() const{return size};//栈的实际长度使用队列模拟场外通道,其 ADT 设计如下: ADT Queue 数据对象:Car 类 数据关系:线性关系 基本操作:void clear();//队列的初始化boolenqueue(const Car& it);//入队booldequeue(Car& it);//出队int length() const{return size;};//队列的长度 2。算法基本思想① 在该程序中,对停车场和场外通中每辆车停车的编号而言,他们有唯一的第一个元素和最后一个元素,而且除第一个元素以外的每个元素都有唯一的后继,除最后一个元素以外的每个元素都有唯一的前驱。因此这些元素具有线性关系。而且,对于停车场里面的汽车,他们逻辑次序是“先进...