停车场管理问题(3)

2019-05-26 23:29

八、附录 (源代码) #include #include int Parkingroom; int fee; int carroom=0; int carwait=0;

//车辆信息 struct car { };

//停车场信息

int num; int intime;

struct parking {

car N[10000]; int top; int size;

};

//便道上车辆信息 struct pavecar {

pavecar *next; int pavenum; int posnum;

};

//便车道信息 struct pave {

pavecar *front; pavecar *rear;

};

//初始化栈——停车场 void Init_parking(parking* s) { }

//初始化队列——便道 void Init_pave(pave *s) {

s->front=new (pavecar); s->top=-1;

s->rear=s->front; s->front->next=NULL; s->front->posnum=0; }

//便道上车辆进入

void pavein(pave *s,int num) {

pavecar *p;

p=new (pavecar); p->pavenum=num;

p->posnum=s->rear->posnum+1; p->next=NULL; if(s->rear==s->front) {

s->front->next=p;

}

s->rear->next=p; s->rear=p;

::carwait=::carwait+1;

}

//便道上车辆离开 int paveout(pave *s) {

pavecar *p;

int num;

p=s->front->next;

s->front->next=p->next; if(p->next==NULL) { }

num=p->pavenum; delete p; return num;

::carwait =::carwait -1;

s->rear=s->front;

}

//车辆进入停车场

int carin(parking *s,car x) {

if(s->top==Parkingroom-1) {

cout<<\停车场已满!\return (0);

} else {

s->top++; s->N[s->top]=x; ::carroom=::carroom+1; return (1);

}

}

void parkingin(parking *s,pave *p,car x) {

int k; k=carin(s,x); if(k==0) {

cout<<\

<<\停车场已满,请到便道上排队等候。\

pavein(p,x.num);

cout<<\车辆\已在便道等候\

<<\

} else {

cout<<\

<<\车辆已停入停车场。\<<\车牌号:\<<\车位号:\

<<\

}

}

//车辆离开停车场 car carout(parking *s) {

car p;

if(s->top<0) }

void parkingout(parking *s1,parking *s2,pave *p,car x) {

car y; int num,k=0;

while((s1->top>-1)&&(k==0)) {

y=carout(s1); if(y.num!=x.num) {

k=carin(s2,y);

{

p.num=NULL; p.intime=NULL; return (p);

} else {

s->top--;

::carroom=::carroom-1; return (s->N[s->top+1]);

}

} else

k=1;

}

if(y.num==x.num) {

cout<<\<<\车辆离开停车场。\<<\车牌号:\


停车场管理问题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:宝石学概论 模拟试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: