真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語(yǔ)言怎么實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“C語(yǔ)言怎么實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

十載專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站建設(shè),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁(yè)制作,對(duì)銅雕雕塑等多個(gè)行業(yè),擁有豐富的網(wǎng)站營(yíng)銷經(jīng)驗(yàn)。

1.問(wèn)題描述:停車場(chǎng)內(nèi)只有一個(gè)可停放n輛汽車的狹長(zhǎng)通道,且只有一個(gè)大門(mén)可供汽車進(jìn)出。汽車在停車場(chǎng)內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門(mén)在最南端,最先到達(dá)的第一輛車停放在停車場(chǎng)的最北端),若車場(chǎng)內(nèi)已停滿n輛汽車,則后來(lái)的汽車只能在門(mén)外的便道上等候,一旦有車開(kāi)走,則排在便道上的第一輛車即可開(kāi)入;當(dāng)停車場(chǎng)內(nèi)某輛車要離開(kāi)時(shí),在它之后開(kāi)入的車輛必須先退出車場(chǎng)為它讓路,待該輛車開(kāi)出大門(mén)外,其它車輛再按原次序進(jìn)入車場(chǎng),每輛停放在車場(chǎng)的車在它離開(kāi)停車場(chǎng)時(shí)必須按它停留的時(shí)間長(zhǎng)短交納費(fèi)用。試為停車場(chǎng)編制按上述要求進(jìn)行管理的模擬程序。


2.基本要求

(1)以棧模擬停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。(2)每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼及到達(dá)或離去的時(shí)刻,對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出數(shù)據(jù)為:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或便道上的停車位置;若是車離去;則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)間和應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。(3)棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表結(jié)構(gòu)實(shí)現(xiàn)。(4)按照題意要求獨(dú)立進(jìn)行設(shè)計(jì),設(shè)計(jì)結(jié)束后按要求寫(xiě)出設(shè)計(jì)報(bào)告。

一、代碼塊:

#include #include #include typedef int ElemType;#define MaxSize 100#define QNODE struct QNodetypedef struct Node //車輛信息{ char AL; int NO; int time;}Node;typedef struct Stack //棧定義{ struct Node data[MaxSize]; int top; int num;}SqStack;QNODE        //隊(duì)列節(jié)點(diǎn){ struct Node data; QNODE *next;};typedef struct linkqueue    //隊(duì)列結(jié)構(gòu)體定義{ QNODE *front,*rear; int num;}LinkQueue;SqStack *Init_SeqStack() //置空棧{ SqStack *s; s=(SqStack*)malloc(sizeof(SqStack));   s->top=-1; s->num=0; return s;}LinkQueue *Init_LQueue()    //創(chuàng)建空隊(duì)列{ LinkQueue *q;   QNODE *p;   q=(LinkQueue*)malloc(sizeof(LinkQueue));   p=(QNODE*)malloc(sizeof(QNODE)); p->next=NULL; q->front=q->rear=p; q->num=0; return q;}int ISEmpty_SeqStack(SqStack *s) //判斷棧是否為空,棧為空返回1{ if(s->top ==-1) return 1; else return 0;}int ISFULL_SeqStack(SqStack *s,int n) //判斷棧是否已滿,若棧滿返回1{ if(s->top==n-1) return 1; else return 0;}int ISEmpty_LQueue(LinkQueue *q) //判斷隊(duì)列是否為空,隊(duì)列為空返回1{ if(q->front==q->rear) return 1; else return 0;}void IN_Lqueue( LinkQueue *q,struct Node s)  //入隊(duì){ QNODE *p; p=(QNODE*)malloc(sizeof(QNODE)); p->data=s; q->num++; p->next=NULL; q->rear->next =p; q->rear =p;}void Push_SeqStack(SqStack *p,struct Node s)  //入棧{ p->top ++; p->data[p->top]=s; p->num++;}int POP_SeqStack(SqStack *s,struct Node car)//出棧{ SqStack *p; int t;  p=Init_SeqStack(); while(s->data[s->top].NO !=car.NO)//找到車牌號(hào)為P.NO的車, {   Push_SeqStack(p,s->data[s->top]); s->top--; s->num--; } t=car.time-s->data[s->top].time; s->top--; s->num--; while(ISEmpty_SeqStack(p)==0) { Push_SeqStack(s,p->data[p->top]); p->top--; p->num--; } return t;}struct Node Out_LQueue(LinkQueue *q)  //出隊(duì){ QNODE *p; p=q->front->next; q->front->next=p->next; q->num --; if( q->front->next==NULL)  q->rear=q->front; return p->data; free(p);}int main(){ SqStack *parkstack;  //parkstack為表示停車場(chǎng)的棧 LinkQueue *parkqueue;    //parkqueue為表示便道的隊(duì)列 struct Node car; int n,a=0,t;        //n為停車場(chǎng)棧的較大容量 float f;          //f為每小時(shí)收費(fèi) parkstack=Init_SeqStack(); parkqueue=Init_LQueue(); //初始界面  printf("***************停車場(chǎng)信息查詢***************\n"); printf("請(qǐng)輸入停車場(chǎng)較大容量n="); scanf("%d",&n); printf("\n請(qǐng)輸入每分鐘收取費(fèi)用f="); scanf("%f",&f); printf("\n請(qǐng)輸入車輛信息\n");  scanf("%c,%d,%d",&car.AL,&car.NO,&car.time); while(car.AL!='Q') {  if(car.AL=='A' )  {    // 汽車到達(dá)的情況   if(ISFULL_SeqStack(parkstack,n)==1) //棧滿的情況   {   IN_Lqueue(parkqueue,car);  //進(jìn)入隊(duì)列等待    printf("這輛車在門(mén)外便道上第%d個(gè)位置\n",parkqueue->num);   printf("\n");   printf("請(qǐng)輸入車輛信息\n");   }   else   {   Push_SeqStack(parkstack,car); //入棧   printf("這輛車在停車場(chǎng)內(nèi)第%d個(gè)位置\n",parkstack->num);   printf("\n");   printf("請(qǐng)輸入車輛信息\n");   }  }  if(car.AL=='L' )   //汽車離開(kāi)的情況  {        t=POP_SeqStack(parkstack,car);//出棧  printf("這輛車停留時(shí)間為%d,收費(fèi)為%f。\n",t,f*t);  printf("\n");  printf("請(qǐng)輸入車輛信息\n");    if(ISEmpty_LQueue(parkqueue)==0)  //隊(duì)列不為空需要進(jìn)棧     Push_SeqStack(parkstack,Out_LQueue(parkqueue) );  }  if(car.AL=='P'&&car.NO==0&&car.time==0 )//顯示停車場(chǎng)的車數(shù)  {   printf("停車場(chǎng)的車數(shù)為%d\n",parkstack->num);    printf("\n");   printf("請(qǐng)輸入車輛信息\n");  }    if(car.AL=='W'&&car.NO==0&&car.time==0 )//顯示候車場(chǎng)的車數(shù)  {   printf("候車場(chǎng)的車數(shù)為%d\n",parkqueue->num);  printf("\n");  printf("請(qǐng)輸入車輛信息\n");  } scanf("%c,%d,%d",&car.AL,&car.NO,&car.time); } printf("輸入結(jié)束\n"); return 1;}

二、運(yùn)行:

關(guān)鍵字:A——arrive;L——leave;P——park;Q——quit;W——wait.

“C語(yǔ)言怎么實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


文章題目:C語(yǔ)言怎么實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)源:http://weahome.cn/article/dgjsos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部