版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告</p><p><b> 一、計(jì)算題 </b></p><p> 1、題目:停車場(chǎng)管理</p><p> 設(shè)停車場(chǎng)是一個(gè)可停放n輛汽車的狹長通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場(chǎng)內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門在最南端,最先到達(dá)的第一輛車停放在車場(chǎng)的最北端),若車場(chǎng)
2、內(nèi)已停滿n輛汽車,則后來的汽車只能在門外的便道上等待,一旦有車開走,則排在便道上的第一輛車即可開入;每輛停放在車場(chǎng)的車在它離開停車場(chǎng)時(shí)必須按它停留的時(shí)間長短交納費(fèi)用。試為停車場(chǎng)編制按上述要求進(jìn)行管理的模擬程序。 以線性表模擬停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼以及“到達(dá)”或“離去”的時(shí)刻。對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出信
3、息為:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或便道上的停車位置;若是車輛離去,則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)間和應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。線性表以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表結(jié)構(gòu)實(shí)現(xiàn)。</p><p><b> 2、需求分析:</b></p><p> 由于停車場(chǎng)是一個(gè)狹窄通道,而且只有一個(gè)大門可供汽車進(jìn)出,問題要求汽車在停車場(chǎng)內(nèi)按車輛到達(dá)時(shí)間的先后順序,依
4、次由北向南排列。由此很容易聯(lián)想到用結(jié)構(gòu)體數(shù)組來存儲(chǔ)車庫信息,用一個(gè)棧來模擬車庫。當(dāng)停車場(chǎng)內(nèi)某輛車要離開時(shí),在他之后進(jìn)入的汽車必須再按原次序進(jìn)入車庫。這是一個(gè)一退一進(jìn)的過程,而且讓道的汽車必須保持原有的先后順序,因此可再設(shè)計(jì)一個(gè)結(jié)構(gòu)體數(shù)組,用來暫時(shí)存放為出站汽車暫時(shí)讓道的汽車車牌號(hào)。當(dāng)車庫滿后,繼續(xù)進(jìn)來的汽車需要停放在車庫旁邊的便道上等候,若車庫有汽車開走,先在便道等待的車先進(jìn)車庫,這完全是一個(gè)先進(jìn)先出模型,因此可以設(shè)計(jì)一個(gè)隊(duì)列來模擬便道
5、。另外,停車場(chǎng)是根據(jù)汽車在停車場(chǎng)內(nèi)停放的總長來收費(fèi)的,在便道上的時(shí)間不計(jì)費(fèi),因此必須記錄車輛進(jìn)入車庫時(shí)的時(shí)間,車輛離開車庫時(shí)的時(shí)間不需要記錄,當(dāng)從終端輸入時(shí)可直接使用。</p><p><b> 3、環(huán)境說明:</b></p><p> 在Microsoft Visual C++ 6.0上運(yùn)行</p><p><b> 4、詳細(xì)
6、設(shè)計(jì):</b></p><p> ?。ㄒ唬┠M車庫和模擬便道中分別用結(jié)構(gòu)體數(shù)組和鏈表來存儲(chǔ)車輛信息。</p><p> 模擬車庫和模擬便道的數(shù)據(jù)結(jié)構(gòu)如下表1和表2所示:</p><p> 表1 模擬車庫的數(shù)據(jù)結(jié)構(gòu)</p><p> 表2 模擬便道的數(shù)據(jù)結(jié)構(gòu)</p><p> 用C語言實(shí)現(xiàn)這一部分
7、為:</p><p> typedef struct time</p><p><b> { </b></p><p> int hour; </p><p><b> int min; </b></p><p> }Time; //時(shí)間結(jié)點(diǎn)</p>
8、<p> typedef struct node</p><p><b> { </b></p><p> char num[10]; </p><p> Time reach; </p><p> Time leave; </p><p> }CarNode;//車輛信息結(jié)
9、點(diǎn)</p><p> typedef struct NODE</p><p><b> { </b></p><p> CarNode *stack[MAX+1]; </p><p><b> int top; </b></p><p> }Moni_Cheku;
10、//車庫</p><p> typedef struct car</p><p><b> { </b></p><p> CarNode *data; //數(shù)據(jù)域</p><p> struct car *next; //指針域</p><p> }QueueNode; </p&
11、gt;<p> typedef struct Node</p><p><b> { </b></p><p> QueueNode *head; </p><p> QueueNode *rear; </p><p> }Moni_Biandao;//便道</p><p>
12、;<b> (二)主函數(shù)</b></p><p><b> 主函數(shù)代碼:</b></p><p> void main() </p><p><b> { </b></p><p> Moni_Cheku Enter,Temp; </p><p&g
13、t; Moni_Biandao Wait; </p><p><b> int ch;</b></p><p> InitStack(&Enter); //初始化車站</p><p> InitStack(&Temp); //初始化讓路的臨時(shí)鏈表</p><p> InitQueue(&
14、Wait); //初始化便道</p><p> printf("\n");</p><p> printf(" ^_^歡迎進(jìn)入停車場(chǎng)管理系統(tǒng)1!^_^\n");</p><p> printf("\n");</p><p> printf("提示!
15、 (1).該車庫的最大容量為:%d;\n" ,MAX);</p><p> printf(" (2).該車庫的收費(fèi)標(biāo)準(zhǔn)為:%4.2f元/(輛*分鐘).\n",price);</p><p><b> while(1) </b></p><p><b> {</b></p&
16、gt;<p> printf("********************主菜單********************\n");</p><p> printf(" 1.車輛到達(dá)"); </p><p> printf(" 2.車輛離開"); </p><p> printf(&q
17、uot; 3.列表顯示"); </p><p> printf(" 4.退出系統(tǒng)\n"); </p><p> printf("**********************************************\n");</p><p> printf("請(qǐng)選擇(1-4):[ ]&quo
18、t;);</p><p><b> while(1) </b></p><p><b> {</b></p><p> scanf("%d",&ch); </p><p> if(ch>=1&&ch<=4)break; </p&g
19、t;<p> else printf("錯(cuò)誤!請(qǐng)重選(1-4):[ ]\b\b");</p><p><b> } </b></p><p> switch(ch) </p><p><b> { </b></p><p> case 1:Arrival(
20、&Enter,&Wait);break; //車輛到達(dá)</p><p> case 2:Leave(&Enter,&Temp,&Wait);break; //車輛離開</p><p> case 3:List(Enter,Wait);break; //打印列表信息</p><p> case 4:exit(0); //
21、退出主程序</p><p> default: break; </p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b> ?。ㄈ┸囕v到達(dá)函數(shù)<
22、/b></p><p><b> 車輛到達(dá)函數(shù)代碼:</b></p><p> int Arrival(Moni_Cheku *Enter,Moni_Biandao *W) //車輛到達(dá)</p><p><b> { </b></p><p> CarNode *p; </p&g
23、t;<p> QueueNode *t; </p><p> p=(CarNode *)malloc(sizeof(CarNode)); </p><p> flushall(); </p><p> printf("請(qǐng)輸入車牌號(hào)(例如:中CUG888):"); </p><p> gets(p-&
24、gt;num); </p><p> if(Enter->top<MAX) //車庫未滿,車進(jìn)車庫</p><p><b> { </b></p><p> Enter->top++; </p><p> printf("該車在車庫位置%d.\n",Enter->top
25、); </p><p> printf("請(qǐng)輸入到達(dá)時(shí)間(**:**):"); </p><p> scanf("%d:%d",&(p->reach.hour),&(p->reach.min)); </p><p> Enter->stack[Enter->top]=p; <
26、/p><p> return(1); </p><p><b> } </b></p><p> else //車庫已滿,車進(jìn)便道</p><p><b> { </b></p><p> printf("該車須在便道等待!\n"); </p&
27、gt;<p> t=(QueueNode *)malloc(sizeof(QueueNode)); </p><p> t->data=p; </p><p> t->next=NULL; </p><p> W->rear->next=t; </p><p> W->rear=t; &l
28、t;/p><p> return(1); </p><p><b> } </b></p><p><b> }</b></p><p><b> ?。ㄋ模┸囕v離開函數(shù)</b></p><p><b> 車輛離開函數(shù)代碼:</b>
29、;</p><p> void Leave(Moni_Cheku *Enter,Moni_Cheku *Temp,Moni_Biandao *W) //車輛離開</p><p><b> { </b></p><p> int i, room; </p><p> CarNode *p,*t; </p>
30、;<p> QueueNode *q; </p><p> //判斷車庫內(nèi)是否有車</p><p> if(Enter->top>0) //有車</p><p><b> { </b></p><p> printf("請(qǐng)輸入車在車庫的位置(1--%d):",Ent
31、er->top);//輸入車輛離開的信息</p><p><b> while(1) </b></p><p><b> { </b></p><p> scanf("%d",&room); </p><p> if(room>=1&&
32、room<=Enter->top) break;</p><p> else printf("錯(cuò)誤!請(qǐng)重選:");</p><p><b> } </b></p><p> while(Enter->top(取其成員top:Enter->top)>room) //車輛離開</p>
33、;<p><b> { </b></p><p> Temp->top++; </p><p> Temp->stack[Temp->top]=Enter->stack[Enter->top]; </p><p> Enter->stack[Enter->top]=NULL; &l
34、t;/p><p> Enter->top--; </p><p><b> } </b></p><p> p=Enter->stack[Enter->top]; </p><p> Enter->stack[Enter->top]=NULL; </p><p>
35、 Enter->top--; </p><p> while(Temp->top>=1) </p><p><b> { </b></p><p> Enter->top++; </p><p> Enter->stack[Enter->top]=Temp->stack
36、[Temp->top]; </p><p> Temp->stack[Temp->top]=NULL; </p><p> Temp->top--; </p><p><b> } </b></p><p> PRINT(p,room); //判斷通道上是否有車及車庫是否已滿</p&
37、gt;<p> if((W->head!=W->rear)&&Enter->top<MAX) //便道的車輛進(jìn)入車庫</p><p><b> { </b></p><p> q=W->head->next; </p><p> t=q->data; </p&
38、gt;<p> Enter->top++; </p><p> printf("\n便道的%s號(hào)車進(jìn)入車場(chǎng)第%d位置.",t->num,Enter->top); </p><p> printf("\n請(qǐng)輸入現(xiàn)在的時(shí)間(**:**):"); </p><p> scanf("%
39、d:%d",&(t->reach.hour),&(t->reach.min)); </p><p> W->head->next=q->next; </p><p> if(q==W->rear) W->rear=W->head; </p><p> Enter->stack[En
40、ter->top]=t; </p><p><b> free(q); </b></p><p><b> } </b></p><p> else printf("\n便道里沒有車.\n"); </p><p><b> } </b><
41、/p><p> else printf("車庫里沒有車!\n"); //沒車</p><p><b> }</b></p><p><b> ?。ㄎ澹┝斜盹@示函數(shù)</b></p><p><b> 列表顯示函數(shù)代碼:</b></p><
42、p> void List(Moni_Cheku S,Moni_Biandao W) </p><p><b> { </b></p><p> int flag,tag; </p><p><b> flag=1; </b></p><p> while(flag) </p&g
43、t;<p><b> { </b></p><p> printf("**********查看**********\n");</p><p> printf("1.車庫 2.便道 3.返回\n");</p><p> printf("****************
44、********\n");</p><p> printf("請(qǐng)選擇(1-3):[ ]\b\b");</p><p><b> while(1) </b></p><p><b> { </b></p><p> scanf("%d",&am
45、p;tag); </p><p> f(tag>=1&&tag<=3) break; </p><p> else printf("錯(cuò)誤!請(qǐng)重選(1-3):[ ]\b\b"); </p><p><b> } </b></p><p> switch(tag) &l
46、t;/p><p><b> { </b></p><p> case 1:List1(&S);break;//列表顯示車庫信息</p><p> case 2:List2(&W);break; //列表顯示便到信息</p><p> case 3:flag=0;break; </p>&
47、lt;p> default: break; </p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b> 顯示車庫信息代碼:</b></p>
48、<p> void List1(Moni_Cheku *S) //列表顯示車庫信息</p><p><b> { </b></p><p><b> int i; </b></p><p> if(S->top>0) //判斷車庫內(nèi)是否有車</p><p><b&
49、gt; { </b></p><p> printf("車庫:"); </p><p> printf("\n位置 到達(dá)時(shí)間 車牌號(hào)\n"); </p><p> for(i=1;i<=S->top;i++) </p><p><b> { </b>
50、;</p><p> printf(" %d ",i); </p><p> printf(" %d:%d ",S->stack[i]->reach.hour,S->stack[i]->reach.min); </p><p> puts(S->stack[i]->num);
51、 </p><p><b> } </b></p><p><b> } </b></p><p><b> 顯示便道信息代碼:</b></p><p> void List2(Moni_Biandao *W) //列表顯示便道信息</p><p&g
52、t;<b> { </b></p><p> QueueNode *p; </p><p> p=W->head->next; </p><p> if(W->head!=W->rear) //判斷便道上是否有車</p><p><b> { </b></p&
53、gt;<p> printf("在便道里等待的車輛的號(hào)碼為:\n"); </p><p> while(p!=NULL) </p><p><b> { </b></p><p> puts(p->data->num); </p><p> p=p->next
54、; </p><p><b> } </b></p><p><b> } </b></p><p> else printf("便道里沒有車.\n"); </p><p><b> } </b></p><p><b&
55、gt; 5、調(diào)試分析:</b></p><p> 1、測(cè)試系統(tǒng)對(duì)錯(cuò)誤信息的處理</p><p> 2、進(jìn)入2輛車,車均進(jìn)車庫,便道上無車,并進(jìn)行列表顯示</p><p> 3、再進(jìn)入3輛車,第一輛車進(jìn)車庫,后2輛車在便道等待,同時(shí)輸出等待的提示信息,最后列表顯示以查尋結(jié)果,此時(shí)車庫已滿,便道上有2輛車在等待。</p><p&g
56、t; 4、離開停車位1和停車位3上的2輛車,同時(shí)輸入它們離開的時(shí)間,并計(jì)算它們的應(yīng)交費(fèi)用。離開后,車庫里便有空出2個(gè)停車位,這時(shí)便道里的前2輛車就可進(jìn)入車庫,便道里的進(jìn)入車庫里要記錄它們進(jìn)去的時(shí)間,開始計(jì)時(shí)收費(fèi)。最后進(jìn)行列表顯示,車庫里應(yīng)仍有3輛車,便道應(yīng)無車。</p><p><b> 6、課設(shè)總結(jié):</b></p><p> 在這次的課程設(shè)計(jì)中,我學(xué)到了數(shù)據(jù)
57、結(jié)構(gòu)的定義,棧和隊(duì)列的使用等,把老師教的知識(shí)實(shí)際運(yùn)用起來,理解得更加深入了。同時(shí)在這個(gè)過程中也遇到很多困難,比如時(shí)間的記錄、當(dāng)車離開車庫時(shí)前面的車應(yīng)該怎么放置等,這些問題都通過看課本,去圖書館和網(wǎng)上查找資料得到了解決,時(shí)間的記錄我設(shè)置了一個(gè)時(shí)間節(jié)點(diǎn),當(dāng)車離開車庫時(shí)前面的車放在一個(gè)臨時(shí)鏈表里。這次課程設(shè)計(jì)用到的知識(shí)其實(shí)都是以前老師教過的內(nèi)容,只是需要我們?nèi)ハ瑢W(xué)會(huì)運(yùn)用而已。很感謝老師的悉心教導(dǎo)和小組成員共同的努力,這次課程設(shè)計(jì)收獲還是很
58、大的。</p><p><b> 源程序:</b></p><p> #include<stdio.h> </p><p> #include<stdlib.h> </p><p> #include<string.h> </p><p> #defi
59、ne MAX 3 //車庫容量</p><p> #define price 0.5 //每車每分鐘費(fèi)用 </p><p> typedef struct time</p><p><b> { </b></p><p> int hour; </p><p><b> int
60、 min; </b></p><p> }Time; //時(shí)間結(jié)點(diǎn)</p><p> typedef struct node</p><p><b> { </b></p><p> char num[10]; </p><p> Time reach; </p>
61、<p> Time leave; </p><p> }CarNode;//車輛信息結(jié)點(diǎn) </p><p> typedef struct NODE</p><p><b> { </b></p><p> CarNode *stack[MAX+1]; </p><p>&
62、lt;b> int top; </b></p><p> }Moni_Cheku; </p><p> typedef struct car</p><p><b> { </b></p><p> CarNode *data; </p><p> struct ca
63、r *next; </p><p> }QueueNode; </p><p> typedef struct Node</p><p><b> { </b></p><p> QueueNode *head; </p><p> QueueNode *rear; </p>
64、<p> }Moni_Biandao; </p><p> void InitStack(Moni_Cheku *); //初始化車庫</p><p> int InitQueue(Moni_Biandao *); //初始化便道</p><p> int Arrival(Moni_Cheku *,Moni_Biandao *); //車輛到
65、達(dá)</p><p> void Leave(Moni_Cheku *,Moni_Cheku *,Moni_Biandao *); //車輛離開</p><p> void List(Moni_Cheku,Moni_Biandao); //顯示車庫和便道的存車信息</p><p> void main() </p><p><b&g
66、t; { </b></p><p> Moni_Cheku Enter,Temp; </p><p> Moni_Biandao Wait; </p><p><b> int ch;</b></p><p> InitStack(&Enter); //初始化車站</p>&l
67、t;p> InitStack(&Temp); //初始化讓路的臨時(shí)鏈表</p><p> InitQueue(&Wait); //初始化便道</p><p> printf("\n");</p><p> printf(" ^_^歡迎進(jìn)入停車場(chǎng)管理系統(tǒng)1!^_^\n");<
68、/p><p> printf("\n");</p><p> printf("提示! (1).該車庫的最大容量為:%d;\n" ,MAX);</p><p> printf(" (2).該車庫的收費(fèi)標(biāo)準(zhǔn)為:%4.2f元/(輛*分鐘).\n",price);</p><p>
69、;<b> while(1) </b></p><p><b> {</b></p><p> printf("********************主菜單********************\n");</p><p> printf(" 1.車輛到達(dá)"); </
70、p><p> printf(" 2.車輛離開"); </p><p> printf(" 3.列表顯示"); </p><p> printf(" 4.退出系統(tǒng)\n"); </p><p> printf("****************************
71、******************\n");</p><p> printf("請(qǐng)選擇(1-4):[ ]\b\b");</p><p><b> while(1) </b></p><p><b> {</b></p><p> scanf("%d&
72、quot;,&ch); </p><p> if(ch>=1&&ch<=4)break; </p><p> else printf("錯(cuò)誤!請(qǐng)重選(1-4):[ ]\b\b");</p><p><b> } </b></p><p> switch(ch
73、) </p><p><b> { </b></p><p> case 1:Arrival(&Enter,&Wait);break; //車輛到達(dá)</p><p> case 2:Leave(&Enter,&Temp,&Wait);break; //車輛離開</p><p>
74、; case 3:List(Enter,Wait);break; //打印列表信息</p><p> case 4:exit(0); //退出主程序</p><p> default: break; </p><p><b> } </b></p><p><b> } </b><
75、/p><p><b> } </b></p><p> void InitStack(Moni_Cheku *s) //初始化車庫</p><p><b> { </b></p><p><b> int i; </b></p><p> s-&g
76、t;top=0; </p><p> for(i=0;i<=MAX;i++) </p><p> s->stack[s->top]=NULL; </p><p><b> } </b></p><p> int InitQueue(Moni_Biandao *Q) //初始化便道</p&g
77、t;<p><b> { </b></p><p> Q->head=(QueueNode *)malloc(sizeof(QueueNode)); </p><p> if(Q->head!=NULL) </p><p><b> { </b></p><p>
78、 Q->head->next=NULL; </p><p> Q->rear=Q->head; </p><p> return(1); </p><p><b> } </b></p><p> else return(-1); </p><p><b>
79、; }</b></p><p> void PRINT(CarNode *p,int room) //輸出出庫車的信息</p><p><b> { </b></p><p> int A1,A2,B1,B2; </p><p> printf("請(qǐng)輸入離開的時(shí)間:/**:**/"
80、;); </p><p> scanf("%d:%d",&(p->leave.hour),&(p->leave.min)); </p><p> printf("離開車輛的車牌號(hào)為:"); </p><p> puts(p->num); </p><p> pr
81、intf("其到達(dá)時(shí)間為: %d:%d\n",p->reach.hour,p->reach.min); </p><p> printf("離開時(shí)間為: %d:%d\n",p->leave.hour,p->leave.min); </p><p> A1=p->reach.hour; </p><
82、p> A2=p->reach.min; </p><p> B1=p->leave.hour; </p><p> B2=p->leave.min; </p><p> printf("應(yīng)交費(fèi)用為:%4.2f元",((B1-A1)*60+(B2-A2))*price); </p><p>&
83、lt;b> free(p); </b></p><p><b> }</b></p><p> int Arrival(Moni_Cheku *Enter,Moni_Biandao *W) //車輛到達(dá)</p><p><b> { </b></p><p> CarNo
84、de *p; </p><p> QueueNode *t; </p><p> p=(CarNode *)malloc(sizeof(CarNode)); </p><p> flushall(); </p><p> printf("請(qǐng)輸入車牌號(hào)(例如:中CUG888):"); </p><
85、p> gets(p->num); </p><p> if(Enter->top<MAX) //車庫未滿,車進(jìn)車庫</p><p><b> { </b></p><p> Enter->top++; </p><p> printf("該車在車庫位置%d.\n"
86、;,Enter->top); </p><p> printf("請(qǐng)輸入到達(dá)時(shí)間(**:**):"); </p><p> scanf("%d:%d",&(p->reach.hour),&(p->reach.min)); </p><p> Enter->stack[Enter-&
87、gt;top]=p; </p><p> return(1); </p><p><b> } </b></p><p> else //車庫已滿,車進(jìn)便道</p><p><b> { </b></p><p> printf("該車須在便道等待!\n&
88、quot;); </p><p> t=(QueueNode *)malloc(sizeof(QueueNode)); </p><p> t->data=p; </p><p> t->next=NULL; </p><p> W->rear->next=t; </p><p> W
89、->rear=t; </p><p> return(1); </p><p><b> } </b></p><p><b> }</b></p><p> void Leave(Moni_Cheku *Enter,Moni_Cheku *Temp,Moni_Biandao *W)
90、//車輛離開</p><p><b> { </b></p><p> int i, room; </p><p> CarNode *p,*t; </p><p> QueueNode *q; </p><p> //判斷車庫內(nèi)是否有車</p><p> if
91、(Enter->top>0) //有車</p><p><b> { </b></p><p> printf("請(qǐng)輸入車在車庫的位置(1--%d):",Enter->top);//輸入車輛離開的信息</p><p><b> while(1) </b></p>&
92、lt;p><b> { </b></p><p> scanf("%d",&room); </p><p> if(room>=1&&room<=Enter->top) break;</p><p> else printf("錯(cuò)誤!請(qǐng)重選:");&
93、lt;/p><p><b> } </b></p><p> while(Enter->top>room) //車輛離開</p><p><b> { </b></p><p> Temp->top++; </p><p> Temp->stac
94、k[Temp->top]=Enter->stack[Enter->top]; </p><p> Enter->stack[Enter->top]=NULL; </p><p> Enter->top--; </p><p><b> } </b></p><p> p=Ent
95、er->stack[Enter->top]; </p><p> Enter->stack[Enter->top]=NULL; </p><p> Enter->top--; </p><p> while(Temp->top>=1) </p><p><b> { </b&g
96、t;</p><p> Enter->top++; </p><p> Enter->stack[Enter->top]=Temp->stack[Temp->top]; </p><p> Temp->stack[Temp->top]=NULL; </p><p> Temp->top-
97、-; </p><p><b> } </b></p><p> PRINT(p,room); //判斷通道上是否有車及車庫是否已滿</p><p> if((W->head!=W->rear)&&Enter->top<MAX) //便道的車輛進(jìn)入車庫</p><p><
98、;b> { </b></p><p> q=W->head->next; </p><p> t=q->data; </p><p> Enter->top++; </p><p> printf("\n便道的%s號(hào)車進(jìn)入車場(chǎng)第%d位置.",t->num,Enter
99、->top); </p><p> printf("\n請(qǐng)輸入現(xiàn)在的時(shí)間(**:**):"); </p><p> scanf("%d:%d",&(t->reach.hour),&(t->reach.min)); </p><p> W->head->next=q->n
100、ext; </p><p> if(q==W->rear) W->rear=W->head; </p><p> Enter->stack[Enter->top]=t; </p><p><b> free(q); </b></p><p><b> } </b>
101、;</p><p> else printf("\n便道里沒有車.\n"); </p><p><b> } </b></p><p> else printf("車庫里沒有車!\n"); //沒車</p><p><b> }</b></p&g
102、t;<p> void List1(Moni_Cheku *S) //列表顯示車庫信息</p><p><b> { </b></p><p><b> int i; </b></p><p> if(S->top>0) //判斷車庫內(nèi)是否有車</p><p>&l
103、t;b> { </b></p><p> printf("車庫:"); </p><p> printf("\n位置 到達(dá)時(shí)間 車牌號(hào)\n"); </p><p> for(i=1;i<=S->top;i++) </p><p><b> { </
104、b></p><p> printf(" %d ",i); </p><p> printf(" %d:%d ",S->stack[i]->reach.hour,S->stack[i]->reach.min); </p><p> puts(S->stack[i]->n
105、um); </p><p><b> } </b></p><p><b> } </b></p><p> else printf("車庫里沒有車\n"); </p><p><b> } </b></p><p> vo
106、id List2(Moni_Biandao *W) //列表顯示便道信息</p><p><b> { </b></p><p> QueueNode *p; </p><p> p=W->head->next; </p><p> if(W->head!=W->rear) //判斷便道上
107、是否有車</p><p><b> { </b></p><p> printf("在便道里等待的車輛的號(hào)碼為:\n"); </p><p> while(p!=NULL) </p><p><b> { </b></p><p> puts(p
108、->data->num); </p><p> p=p->next; </p><p><b> } </b></p><p><b> } </b></p><p> else printf("便道里沒有車.\n"); </p><
109、p><b> } </b></p><p> void List(Moni_Cheku S,Moni_Biandao W) </p><p><b> { </b></p><p> int flag,tag; </p><p><b> flag=1; </b>
110、;</p><p> while(flag) </p><p><b> { </b></p><p> printf("**********查看**********\n");</p><p> printf("1.車庫 2.便道 3.返回\n");</p&g
111、t;<p> printf("************************\n");</p><p> printf("請(qǐng)選擇(1-3):[ ]\b\b");</p><p><b> while(1) </b></p><p><b> { </b><
112、;/p><p> scanf("%d",&tag); </p><p> if(tag>=1&&tag<=3) break; </p><p> else printf("錯(cuò)誤!請(qǐng)重選(1-3):[ ]\b\b"); </p><p><b> } &l
113、t;/b></p><p> switch(tag) </p><p><b> { </b></p><p> case 1:List1(&S);break;//列表顯示車庫信息</p><p> case 2:List2(&W);break; //列表顯示便到信息</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--停車場(chǎng)管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)停車場(chǎng)管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-停車場(chǎng)管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--停車場(chǎng)管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)停車場(chǎng)管理報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--停車場(chǎng)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---停車場(chǎng)管理系統(tǒng)
- 停車場(chǎng)管理-數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-- 停車場(chǎng)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---停車場(chǎng)管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--停車場(chǎng)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)《停車場(chǎng)管理系統(tǒng)》
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——停車場(chǎng)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--停車場(chǎng)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---停車場(chǎng)仿真
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--- 停車場(chǎng)問題
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---停車場(chǎng)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--模擬停車場(chǎng)管理問題
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--停車場(chǎng)管理系統(tǒng) (2)
- 停車場(chǎng)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論