1、#ncludestdio、h #icludeinlde 1 & c top = 0;or ( 0; i ead= (Queuede *)alc(sizeof(QueueNe);i (Q-hea! NL)Q-ead-next= NU;Q-rear = Q-ad;retrn();esreurn(-1); PRIT(arNode ,int oom) /*输出出库车得信息*/int , A2,B1, B2;printf(请输入离开得时间:/*:*/);sca(%d:d, (p-leave、hour),&(pleave、in));printf(离开车辆得车牌号为:);uts(p-um);prif(其到达
2、时间为: d:dn, p-rac、ou,-reach、min);pintf(离开时间为: :%dn, pleae、hur,lave、i);1 = ach、o;2 = -rech、mn;B1 leave、hour;B2 = -leae、min;pritf(应交费用为:4、2元,((B A1) *60 + (B - 2)*price);free();int Arrivl(MiCheku *nter,Mon_adoW)/*车辆到达*/CNodep;Qeede *t;p = (CarNoe *)mlloc(izef(CrN);lush(sdn);n(请输入车牌号(例如:中CUG888):);scanf
3、(%s,&(p);i(Eter-op AX) /*车库未满,车进车库*Entero+;pintf(该车在车库位置%、n, Entr-tp);rintf(请输入到达时间(*:*):);scan(%:%d, &(prech、hor), (-e、n);Entr-stackEer-top = p;reurn(1);else *车库已满,车进便道*/pintf(该车须在便道等待!n); (Quueode*)malo(seof(QeuNode);t-dat= p;-ext =L;-rane = t;W-rear =t;ren(1);oid Leave(Mon_Chek*Enter, MnChk *p,Mo
4、ni_Biandao*W) /*车辆离开*/nt i, ro;CrNod*, t;eueNoe*q;/*判断车库内就是否有车/if (Enter-top 0) 有车*/print(请输入车在车库得位置(-%):,Enter-t);/输入车辆离开得信息*/whle ()scnf(%d, ro);i (oo =1&room top) break;lse print(错误!请重选:);whil (Entr-to oom) /*车辆离开*/emp-o+;ep-stackeo = EntestacEnter-to;terstackntr-op NUL;Enter-top-;p Enr-tackEnter
5、-to;Ete-stacEnterop =ULL;er-op-;wie (Tmp-op )Eterto+;Eer-sackEteop= empstkTmp-top;Tem-sackT-tp = NUL;Tp-top-;PRINT(p, oom); *判断通道上就是否有车及车库就是否已满/f(Wa != W-rer)&Entert hd-next;t =qta;Ener-p+;rintf(n便道得%s号车进入车场第%位置、, t-num, ntertop);pi(n请输入现在得时间(*:*):);a(%d:%, (t-reh、our), &(t-reach、min));-head-nex q-n
6、x;if (q= W-rear) W-rear = -head;t-tackEntertop = t;ee(q);else printf(n便道里没有车、n);leprntf(车库里没有车!); /*没车*/void Lit1(MoniCheku *) /*列表显示车库信息int;if(S-top 0) /*判断车库内就是否有车*/rintf(车库号 到达时间 t车牌号n);for (i = 1; i rach、mn);printf(tt%sn,-saki-nm);else printf(车库里没有车n);void List(MoiBiandao *W) /*列表显示便道信息ueuNd *p;
7、 =Wead-ext; (-head ! Wrr) *判断便道上就是否有车*/prit(在便道里等待得车辆得号码为:n);wie (p!=NULL)put(p-atanum);p = p-nxt;els printf(便道里没有车、n);i Lis(MoniChk S, Moiinda W)in flg, a;flag = ;whie (fag)print(*查瞧*);pintf(、车库2、便道3、返回n);pinf(*n);rintf(请选择(1-3): bb);le (1)snf(, tag);if (tg= 1 & ag 3)brk;eerintf(错误!请重选(1-3):bb);sich(ag)ce 1:it(&S);brea;/*列表显示车库信息*/ase :ist(&W);rek; /*列表显示便到信息/cas 3:flag 0;brek;fult:rak;