停車場(chǎng)管理方案計(jì)劃系統(tǒng)源代碼_第1頁(yè)
停車場(chǎng)管理方案計(jì)劃系統(tǒng)源代碼_第2頁(yè)
停車場(chǎng)管理方案計(jì)劃系統(tǒng)源代碼_第3頁(yè)
停車場(chǎng)管理方案計(jì)劃系統(tǒng)源代碼_第4頁(yè)
停車場(chǎng)管理方案計(jì)劃系統(tǒng)源代碼_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

.\//停車場(chǎng)管理系統(tǒng)#include<stdio.h>#include<stdlib.h>#defineOVERFLOW0#defineERROR0#defineOK1#defineSTACKSIZE2//車庫(kù)容量謝謝閱讀//時(shí)間節(jié)點(diǎn)typedefstructtime{inthour;intmin;}Time;//車輛信息typedefstruct{charCarNum;floattime;intpos_a;

//車在停車場(chǎng)中的位置intpos_b;

//車在便道上的位置intflag;}Car,Car2;//車庫(kù)信息(順序棧)typedefstruct{Car*top;Car*base;intstacksize;}SqStack;//初始化intInitStack(SqStack&S){謝謝閱讀S.base=newCar[STACKSIZE];謝謝閱讀if(!S.base) exit(OVERFLOW);精品文檔放心下載S.top=S.base;S.stacksize=STACKSIZE;returnOK;}//判空intStackEmpty(SqStackS){感謝閱讀if(S.top==S.base) returnOK;謝謝閱讀elsereturnERROR;}.\//判滿intStackFull(SqStackS){if(S.top-S.base>=S.stacksize) returnOK;謝謝閱讀elsereturnERROR;}//入棧intPush(SqStack&S,Care){謝謝閱讀if(S.top-S.base==S.stacksize)returnERROR;感謝閱讀*S.top++=e;returnOK;}//出棧intPop(SqStack&S,Car&e){精品文檔放心下載if(S.top==S.base) returnERROR;精品文檔放心下載e=*--S.top;returnOK;}//遍歷棧intStackTraverse(SqStackS){感謝閱讀Car*p=S.top;Car*q=S.base;intl=1;if(StackEmpty(S)){for(intj=1;j<=STACKSIZE;j++){精品文檔放心下載printf("\t車牌: ");printf("\t\t到達(dá)時(shí)間: ");printf("\t位置%d:空空",j);printf("\n");}returnOK;}while(p!=q){Carcar=*(q);printf("\t車牌:%d",car.CarNum);謝謝閱讀printf("\t\t到達(dá)時(shí)間:%5.2f",car.time);感謝閱讀printf("\t\t位置:%d",l++);printf("\n");.\q++;}returnOK;}//備用車道(順序棧)typedefstruct{Car2*top2;Car2*base2; //intstacksize2;}SqStack2;//初始化intInitStack2(SqStack2&S2){謝謝閱讀S2.base2=newCar2[STACKSIZE];精品文檔放心下載if(!S2.top2)exit(OVERFLOW); //感謝閱讀S2.top2=S2.base2;S2.stacksize2=STACKSIZE;returnOK;}//判空intStackEmpty2(SqStack2S2){精品文檔放心下載if(S2.top2==S2.base2) returnOK;感謝閱讀elsereturnERROR;}//進(jìn)棧intPush2(SqStack2&S2,Car2e2){感謝閱讀if(S2.top2-S2.base2==STACKSIZE)returnERROR;感謝閱讀*S2.top2++=e2;returnOK;}//出棧intPop2(SqStack2&S2,Car2&e2){精品文檔放心下載if(S2.top2==S2.base2)returnERROR;謝謝閱讀e2=*--S2.top2;returnOK;}//車道信息(鏈隊(duì))typedefstructQNode{Cardata;.\structQNode*next;}QNode,*QueuePtr;typedefstruct{QueuePtrfront;QueuePtrrear;}LinkQueue;//初始化intInitQueue(LinkQueue&Q){感謝閱讀Q.front=Q.rear=newQNode;Q.front->next=NULL;returnOK;}//進(jìn)隊(duì)intEnQueue(LinkQueue&Q,Care){精品文檔放心下載QueuePtrp;p=newQNode;p->data=e;p->next=NULL;Q.rear->next=p;Q.rear=p;returnOK;}//判空intQueueEmpty(LinkQueueQ){感謝閱讀if(Q.front==Q.rear)returnOK;精品文檔放心下載elsereturnERROR;}//出隊(duì)intDeQueue(LinkQueue&Q,Car&e){謝謝閱讀QueuePtrp;if(Q.front==Q.rear)returnERROR;精品文檔放心下載p=Q.front->next;e=p->data;Q.front->next=p->next;deletep;returnOK;}.\//主函數(shù)intmain(){inti=1;intj=1;intstatus;floattime,money;LinkQueueQ;Carcar_I,car_D,car_M;SqStackS;SqStack2S2;InitStack(S);InitStack2(S2);InitQueue(Q);while(1){printf("\t\t\t歡迎來(lái)到XXX停車場(chǎng)!\n");精品文檔放心下載printf("*****************************************************************\n");printf("\t\t\t1--車輛到達(dá)停車場(chǎng)\n");感謝閱讀printf("\t\t\t2--車輛離開(kāi)停車場(chǎng)\n");感謝閱讀printf("\t\t\t3--停車場(chǎng)存放車輛情況\n");精品文檔放心下載printf("\t\t\t0--退出程序\n");謝謝閱讀printf("*****************************************************************\n");printf("選擇(0-3):\n");精品文檔放心下載scanf("%d",&status);if(status==1){printf("\t請(qǐng)輸入車牌號(hào):");scanf("%d",&car_I.CarNum);感謝閱讀printf("\t請(qǐng)輸入車到達(dá)的時(shí)間:");scanf("%f",&car_I.time);if(!StackFull(S)){Push(S,car_I); //車進(jìn)入車庫(kù)car_I.pos_a=i;car_I.flag=1;i=i+1;for(intm=1;m<50;m++)printf("--");printf("\n");

//邊線.\printf("\t車牌號(hào):");printf("%d",car_I.CarNum);精品文檔放心下載printf("\t到達(dá)時(shí)間:");printf("%5.1f\t",car_I.time);感謝閱讀printf("\t車庫(kù)中的位置是:%d\n",car_I.pos_a);感謝閱讀for(intm=1;m<50;m++)printf("--");printf("\n");printf("\n");printf("\n");

//邊線}else{EnQueue(Q,car_I);car_I.pos_b=j;car_I.flag=0; //++j;printf("\n");printf("\tSorry!我們的車庫(kù)已滿!?。?,您可以把車!!免費(fèi)!!停在車道上!\n");printf("\n");精品文檔放心下載for(intm=1;m<50;m++) //邊線精品文檔放心下載printf("..");printf("\n");printf("\t車牌號(hào):");printf("%d",car_I.CarNum);精品文檔放心下載printf("\t便道上的位置為:%d\n",car_I.pos_b);感謝閱讀for(intm=1;m<50;m++) //邊線謝謝閱讀printf("..");printf("\n");printf("\n");printf("\n");}}elseif(status==2){ //指令為2,開(kāi)車離去(如果車在謝謝閱讀車庫(kù)里收取停車費(fèi);在便道上則免費(fèi))printf("請(qǐng)輸入客戶的車牌號(hào):");scanf("%d",&car_D.CarNum);精品文檔放心下載printf("請(qǐng)輸入現(xiàn)在的時(shí)間:");scanf("%f",&car_D.time);i=i-1;intflag=0;.\//判斷車是否在便道上if(StackFull(S)){Car*p=S.top;Car*q=S.base;while(p!=q){Carcar=*(q);if(car.CarNum!=car_D.CarNum){精品文檔放心下載flag++;}if(car.CarNum==car_D.CarNum){感謝閱讀gotoloop;}q++;}//whileif(flag>=STACKSIZE){精品文檔放心下載printf("您的車停在便道上,所以免費(fèi)?。?!");精品文檔放心下載}printf("\n");printf("\n");printf("\n");}//ifelse{loop:do{ //擋在前面的車給要出去的車讓路Pop(S,car_M);//加一個(gè)判斷,判斷是不是停車場(chǎng)里的車if(car_D.CarNum!=car_M.CarNum){謝謝閱讀Push2(S2,car_M);}else{car_I.time=car_M.time;}}while(car_D.CarNum!=car_M.CarNum);感謝閱讀while(!StackEmpty2(S2)){//讓路的車返回去Pop2(S2,car_M);精品文檔放心下載Push(S,car_M);}.\while(!QueueEmpty(Q)&&!StackFull(S)){謝謝閱讀if(!StackFull(S)){DeQueue(Q,car_M); //便道上的車離開(kāi)后進(jìn)入精品文檔放心下載停車場(chǎng),那么后面的車的位置都得變。car_M.flag=1;}Push(S,car_M);printf("車牌為%d的車離開(kāi)車庫(kù),車道上車牌為%d的車進(jìn)入車庫(kù)謝謝閱讀\n",car_D.CarNum,car_M.CarNum);感謝閱讀}time=car_D.time-car_I.time;感謝閱讀if(time<0.0){printf("輸入時(shí)間有錯(cuò)!請(qǐng)重新輸入!");}if(time>0.0&&time<=3.0){money=time*4;}elsemoney=time*6;printf("你的車牌為%d的車,應(yīng)收費(fèi)%5.2f元。",car_D.CarNu

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論