作业帮 > 综合 > 作业

实现停车场管理设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间的先后

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 02:31:30
实现停车场管理
设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端).若停车场内已经停满 n辆车,那么后来的车只能在门外的便道上等候.一旦有车开走,则排在便道上的第一辆车即可开入.当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场.每辆停放在车场的车在它离开停车场时必须按它停留的时间长短缴纳费用.试为停车场编制按上述要求进行管理的模拟程序.
2.基本要求:
程序以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列进行模拟管理.栈以顺序结构实现,队列以链表结构实现.同时另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车.输入数据按到达或离去的时刻有序.当输入数据包括数据项为汽车的“到达”(‘A’表示)信息,汽车标识(牌照号)以及到达时刻时,应输出汽车在停车场内或者便道上的停车位置;当输入数据包括数据项为汽车的“离去”(‘D’表示)信息,汽车标识(牌照号)以及离去时刻时,应输出汽车在停车场停留的时间和应缴纳的费用(便道上停留的时间不收费);当输入数据项为(‘P’,0,0)时,应输出停车场的车数;当输入数据项为(‘W’,0,0)时,应输出候车场车数;当输入数据项为(‘E’,0,0),退出程序;若输入数据项不是以上所述,就输出"ERROR!"
供参考
#include
#define MAXSIZE 10
#define MINSIZE 2
typedef int Datatype;
typedef struct{
\x05Datatype data1 [MINSIZE];
int top;
\x05double time[MINSIZE];
}SeqStack;
SeqStack *Init_SeqStack() //栈的初始化;
{SeqStack *s;
s=new SeqStack;
if(!s){
\x05coutdata1[s->top]=x;
\x05return;
}
int Push_SeqStack1(SeqStack *s,Datatype x,double t) //入栈算法1;
{if(s->top==MINSIZE-1)
return 0;
else{
\x05s->top++;
\x05s->data1[s->top]=x;
\x05s->time[s->top]=t;
\x05return 1;
}
}
void Pop_SeqStack(SeqStack *s,Datatype *x) //出栈算法;
{
\x05*x=s->data1[s->top];
\x05s->top--;
\x05return;
}
typedef struct
{
\x05Datatype data2[MAXSIZE];
\x05int rear,front;
\x05int num;
}C_SeQueue;
C_SeQueue *Init_SeQueue() //列队初始化;
{
\x05C_SeQueue *q;
\x05q=new C_SeQueue;
\x05q->front=q->rear=MAXSIZE-1;
q->num=0;
\x05return q;
}
void In_SeQueue(C_SeQueue *q,Datatype x) //入队算法;
{
\x05
\x05\x05q->rear=(q->rear+1)%MAXSIZE;
\x05\x05q->data2[q->rear]=x;
\x05\x05q->num++;
\x05\x05return;
\x05
}
void Out_SeQueue(C_SeQueue *q,Datatype *x)//出队算法;
{
\x05 q->front=(q->front+1)%MAXSIZE;
\x05\x05*x=q->data2[q->front];
\x05\x05q->num--;
\x05\x05return;
}
void show(SeqStack *s,C_SeQueue *q) //显示停车情况;
{
\x05cout
再问: 麻烦您能用c语言写一个吗,c++的看不懂,非常感谢,请发到邮箱921273637@qq.com
再答: 说了仅供参考,你自己琢磨琢磨吧
实现停车场管理设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间的先后 停车场有158辆汽车,一个小时后,只有128辆汽车在停车场.问开走的汽车占原总汽车辆的几分之几? 停车场里的汽车,在上午10时开走了车辆的4分之3,正好是15辆,停车场原本来有汽车多少辆 在一个停车场,现有的车辆正好是24辆,其中汽车有4个轮子,摩托车有3个轮子,这些车共有86个轮子. 在一个停车场停车1小时交费5元.如果停车超过了一小时,每多停0.5小时要多交1.5元.一辆汽车在离开停车场 有一个平行四边形的停车场,底是42米,高是25米,平均每辆车占15平方米,这个停车场可停车多少辆? 某停车场收费标准如下:中型汽车的停车费为6元每辆,小型汽车的停车费为4元每辆.现在停车场 在一个停车场上,汽车、摩托车(二轮)共停了60辆一共有190个轮子该停车场有汽车和摩托车各多少辆? 在一个汽车停车场停车一次至少要交费5元.如果停车超过2小时,每多停小时(不足1小时按1小时计算)要多交0.5元.一辆汽车 某停车场的收费标准如下,中型汽车的停车费为6元/辆,小型汽车的停车费为4元/辆.现在停车场有50辆中、小型汽车,这些车共 某停车场的收费标准如下:中型汽车的停车费为6元/辆,小型汽车的停车费为4元/辆,现在停车场有50辆中、小型汽车,这些车共 一个停车场里大汽车辆数的5/6正好是小汽车辆数的1/3,大汽车的辆数是小汽车的几分之几