}
s->rear=s->front;
num=p->pavenum; delete p; return num; ::carwait =::carwait -1;
}
//车辆进入停车场 int carin(parking *s,car x) {
void parkingin(parking *s,pave *p,car x) {
int k; k=carin(s,x); if(k==0) {
cout<<\
<<\停车场已满,请到便道上排队等候。\pavein(p,x.num);
cout<<\车辆\已在便道等候\
<<\
if(s->top==Parkingroom-1) {
cout<<\停车场已满!\ return (0);
} else {
s->top++; s->N[s->top]=x; ::carroom=::carroom+1; return (1);
}
}
} else {
cout<<\
<<\车辆已停入停车场。\<<\车牌号:\<<\车位号:\
<<\
}
}
//车辆离开停车场 car carout(parking *s) { }
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) car p; {
p.num=NULL; p.intime=NULL; return (p);
if(s->top<0)
} else {
s->top--;
::carroom=::carroom-1; return (s->N[s->top+1]);
}
{
k=carin(s2,y); } else
k=1;
}
if(y.num==x.num) {
cout<<\<<\车辆离开停车场。\<<\车牌号:\
<<\计费时间段:\<<\应付费用为:\元\<<\while(s2->top>=0) {
y=carout(s2); carin(s1,y);
}
num=paveout(p); if(num!=0) {
y.num=num; y.intime=x.intime; carin(s1,y);
cout<<\便道上等候车辆进入停车场。\
<<\车牌号:\<<\车位号:\
<<\
} else {
while(s2->top>-1) { }
}
y=carout(s2); k=carin(s1,y);
}
cout<<\所查车辆不在停车场中\
}
//停车场情况 void roomsituation() { }
//候车便道情况 void roompave() { }
2. 各模块间调用关系
paveout carin parkingin roomsituation cout<<\
<<\停车场内已有车辆数:\台。\<<\cout<<\
<<\停车场内已有车辆数:\台。\<<\
carout Main() pavein parkingout roompave 五、调试分析
1.设计与调试过程中遇到的问题分析、体会
编写程序完成后,编译却总是有问题出现,而且很多,更麻烦的是,看不明白程序纠错里给出的提示,这一度让我有些头痛,于是只能一遍又一遍地看程序。偶然间,想到,我编写的程序里面全部用的“->”这个符号,却没深究那些到底是不是指针类型的结构体,于是,又重新修改,弄了一个晚上才终于把这个程序调好。看到小黑屏跳出来,心里真的很开心呀!吸取教训,以后写程序不能“想当然”,要严格按照既定的规则按部就班地书写,否则吃亏的,真的是自己! 2.主要算法的时间和空间复杂度
六、使用说明
运行程序,输入功能指令+车牌号+车辆到达时间即可。
七、测试结果