停车场管理系统一、 需求分析设计一个停车场管理系统,停车场管理系统功能包括:车辆到达,车辆离开,查询车辆信息等。具体要求如下:(1)、车辆到达:根据车辆到达查询停车场是否有空位:若尚有空位,则让车辆进停车场,输入车牌号和车辆进停车场的时间;若停车场已满则可进入通道等候。(2)、车辆离开:根据客户提供的情况,为客户办理离开车场手续,并计算和打印该车辆停车需要的费用。然后查询通道是否有车辆排队,首先查询排在第一车辆,若满足则车进场。(3)、查询车辆信息:根据客户的要求可以打印停车场和便道的车辆信息,包括:车牌号,车辆到达时间。 根据题目要求可知本题目的是根据从读文件读取的数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照以与到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场或便道上的停车位置;若是车辆离去,则输出汽车在停车场停留的时间和应交纳的费用(在便道上停留的时间不收费)。 二、 概要设计(二)、本程序主要分四个模块实现功能(1)、 以栈模拟停车场,以队列模拟车场外的通道,根据从终端读入的输入 数据序列进行模拟管理。栈以顺序结构实现,队列以链表实现。 InitStack(SqStackCar *s) 操作结果:初始化栈,构造空的模拟车站 SqStackCar 。 Push(SqStackCar *s,CarNode *e) 操作结果:进站函数,车辆进站。 Pop(SqStackCar *s,CarNode *e) 操作结果:出站函数,车辆出站。 StackEmpty(SqStackCar s) 操作结果:推断车站是否为空。 InitQueue(LinkQueueCar *Q) 操作结果:初始化通道,构造空的队列。 QueueEmpty(LinkQueueCar Q) 操作结果:推断通道是否为空。 EnQueue(LinkQueueCar *Q,CarNode *e) 操作结果:车辆进队列,即进通道。 DeQueue(LinkQueueCar *Q,CarNode *e) 操作结果:车辆出对列,即出通道。 SqStackCar part,temp 操作结果:声明停车场和临时停车场。 InitStack(&temp) 操作结果:建临时车场。(2)、车辆达到和离开。以读文件的法式输入数据,数据包括:车辆到达或 离开,车牌,车辆到达时间。Arrive(SqStackCar *In,LinkQueueCar *Wait,char j[10],int hour,int min) 操作结果:显示车辆到达信息。 Arrive(&part,&road,&j,hour,min) 初始条件:有车进站 操作结果;车场未满车进站,并显示车辆信息;已满则进通道等候。 D...