

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 數(shù) 據(jù) 結(jié) 構(gòu)</b></p><p><b> 課程設(shè)計(jì)報(bào)告書</b></p><p> 學(xué)校 </p><p> 學(xué)號(hào) </p><p> 姓名
2、 </p><p> 指導(dǎo)老師 </p><p> 課程設(shè)計(jì)的名稱:學(xué)生成績(jī)管理</p><p><b> 問(wèn)題描述:</b></p><p> 學(xué)生成績(jī)管理是學(xué)校教務(wù)管理的重要組成部分,其處理信息量很大,該題目是對(duì)學(xué)生的成績(jī)管理作一個(gè)簡(jiǎn)單的模擬,其中學(xué)生信息
3、包括:學(xué)號(hào)、姓名與成績(jī)。成績(jī)分為課程1成績(jī)、課程2成績(jī)、課程3成績(jī)和總成績(jī)。要求設(shè)計(jì)一個(gè)簡(jiǎn)易的成績(jī)管理系統(tǒng),輸入各門功課的成績(jī)后能自動(dòng)求出總成績(jī),并通過(guò)菜單選擇操作方式完成下列功能:</p><p><b> 登記學(xué)生成績(jī);</b></p><p><b> ?、诓樵儗W(xué)生成績(jī);</b></p><p><b>
4、 插入學(xué)生成績(jī);</b></p><p><b> ?、軇h除學(xué)生成績(jī);</b></p><p><b> 按總成績(jī)降序排序。</b></p><p><b> 基本要求:</b></p><p> 該題目涉及到單鏈表的各種操作,包括單鏈表的建立、結(jié)點(diǎn)的查找、
5、插入、刪除等基本運(yùn)算。首先建立學(xué)生成績(jī)單鏈表,鏈表中每個(gè)結(jié)點(diǎn)由4個(gè)域組成,分別為:學(xué)號(hào)、姓名、成績(jī)、存放下一個(gè)結(jié)點(diǎn)地址的next域。然后將要求完成的四項(xiàng)功能寫成四個(gè)函數(shù),登記學(xué)生成績(jī)對(duì)應(yīng)建立學(xué)生單鏈表的功能,后三個(gè)功能分別對(duì)應(yīng)單鏈表的查詢、插入與刪除三大基本操作。</p><p><b> 算法思想:</b></p><p> Creat()函數(shù)算法思想:從0至n
6、循環(huán)輸入n個(gè)同學(xué)的三科成績(jī),并且計(jì)算總成績(jī)。</p><p> Inquiry()函數(shù)算法思想:將學(xué)號(hào)與已輸入的所有學(xué)號(hào)做比較,一旦相同則輸出該學(xué)號(hào)信息,否則顯示沒(méi)有該學(xué)生信息。</p><p> Insert ()函數(shù)算法思想:生成一個(gè)新節(jié)點(diǎn),然后將其接到原有鏈表尾部。</p><p> Delete()函數(shù)算法思想:通過(guò)ID找到該節(jié)點(diǎn),并刪去該節(jié)點(diǎn)。<
7、;/p><p> Sort(函數(shù)算法思想:利用排序算法對(duì)每一個(gè)節(jié)點(diǎn)作比較并更換其在鏈表中的位置順序。</p><p><b> 模塊劃分</b></p><p> ?。?)LinkList Creat(LinkList T,int n)其功能是創(chuàng)造節(jié)點(diǎn),錄入成績(jī)。</p><p> (2)void Inquiry(Li
8、nkList T)其功能是查詢與已知ID一致的學(xué)生信息并展示出來(lái)。</p><p> ?。?)void Insert(LinkList T,int n) 其功能是添加若干個(gè)學(xué)生的成績(jī)信息。</p><p> (4)void Delete(LinkList T) 其功能是刪除若干個(gè)學(xué)生的成績(jī)信息。</p><p> (5)void Sort(LNode *p) 其
9、功能是排序并展示若干個(gè)學(xué)生的成績(jī)信息。</p><p><b> 數(shù)據(jù)結(jié)構(gòu):</b></p><p> 數(shù)據(jù)類型LNode定義如下: typedef struct LNode</p><p><b> {</b></p><p><b> int ID;</b>&l
10、t;/p><p> char name[20];</p><p> int score1;</p><p> int score2;</p><p> int score3;</p><p> int total;</p><p> struct LNode *next;</p&g
11、t;<p> }LNode,*LinkList;</p><p><b> 源程序:</b></p><p><b> 源代碼</b></p><p><b> //main.c</b></p><p> #include <stdio.h>
12、</p><p> #include <stdlib.h></p><p> typedef struct LNode</p><p><b> {</b></p><p><b> int ID;</b></p><p> char name[20];
13、</p><p> int score1;</p><p> int score2;</p><p> int score3;</p><p> int total;</p><p> struct LNode *next;</p><p> }LNode,*LinkList;<
14、;/p><p> LinkList Creat(LinkList T,int n);</p><p> void Delete(LinkList T);</p><p> void Inquiry(LinkList T);</p><p> void Insert(LinkList T,int n);</p><p&g
15、t; void Sort(LNode *p);</p><p> void Insert(LinkList T,int n)</p><p><b> {</b></p><p><b> int i;</b></p><p> LNode *r=T,*p;</p><
16、p> while((r->next)!=NULL)</p><p><b> {</b></p><p> r=r->next;</p><p><b> }</b></p><p> for(i=0;i<n;i++)</p><p><
17、;b> {</b></p><p> p=(LNode *)malloc(sizeof(LNode));</p><p> printf("Please enter the student's student ID:");</p><p> scanf("%d",&p->ID);
18、</p><p> printf("Please enter the student's name: ");</p><p> scanf("%s",p->name);</p><p> printf("Please enter the student's score 1: ")
19、;</p><p> scanf("%d",&p->score1);</p><p> printf("Please enter the student's score 2: ");</p><p> scanf("%d",&p->score2);</p>
20、;<p> printf("Please enter the student's score 3: ");</p><p> scanf("%d",&p->score3);</p><p> p->total=p->score1+p->score2+p->score3;</p&g
21、t;<p> printf("The total score is %d\n",p->total);</p><p> p->next=NULL;</p><p> r->next=p;</p><p><b> r=p;</b></p><p><b&g
22、t; }</b></p><p> printf("\nInsert is complete!");</p><p><b> }</b></p><p> void Inquiry(LinkList T)</p><p><b> {</b></p&
23、gt;<p><b> int id;</b></p><p> printf("Please enter the student ID you want to inquire about: ");</p><p> scanf("%d",&id);</p><p> LNo
24、de *p=T;</p><p> p=p->next;</p><p> while(p!=NULL)</p><p><b> {</b></p><p> if(p->ID==id)</p><p><b> {</b></p>&l
25、t;p> printf("\nThe student scores information has been successfully inquired!\n");</p><p> printf("ID: %d\nName: %s\nScore 1: %d\nScore 2: %d\nScore 3: %d\n",p->ID,p->name,p-&g
26、t;score1,p->score2,p->score3);</p><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b><
27、/p><p> p=p->next;</p><p><b> }</b></p><p><b> }</b></p><p><b> if(!p)</b></p><p> printf("Sorry!Did not inqu
28、iry the student scores information!");</p><p><b> }</b></p><p> void Delete(LinkList T)</p><p><b> {</b></p><p> int id,flag=1;</p&g
29、t;<p> printf("Please enter the student ID you want to delete about: ");</p><p> scanf("%d",&id);</p><p> LNode *p=T;</p><p> //LNode *q;</p>
30、;<p> while((p->next)!=NULL)</p><p><b> {</b></p><p> if(p->next->ID==id)</p><p><b> {</b></p><p> //q=p->next;</p>
31、;<p> p->next=p->next->next;</p><p> // delete q;</p><p> printf("\nThe student scores information has been successfully deleted!\n");</p><p><b>
32、 flag=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
33、 p=p->next;</p><p><b> }</b></p><p><b> }</b></p><p><b> if(flag)</b></p><p> printf("Sorry!Did not delete the student s
34、cores information you want to delete!");</p><p><b> }</b></p><p> void Sort(LNode *p)</p><p><b> {</b></p><p> LNode *r,*qian,*hou;<
35、/p><p> qian=p->next;</p><p> hou=qian->next;</p><p> while(hou)</p><p> if(qian->total>=hou->total)</p><p><b> {</b></p>
36、;<p><b> qian=hou;</b></p><p> hou=hou->next;</p><p><b> }//if</b></p><p><b> else</b></p><p><b> {</b>&l
37、t;/p><p><b> r=p;</b></p><p> while(r->next->total>hou->total)</p><p> r=r->next;</p><p> qian->next=hou->next;</p><p>
38、hou->next=r->next;</p><p> r->next=hou;</p><p> hou=qian->next;</p><p><b> }//else</b></p><p> p=p->next;</p><p><b>
39、int i=1;</b></p><p><b> while(p)</b></p><p><b> {</b></p><p> printf("Num: %d\nID: %d\nName: %s\nScore 1: %d\nScore 2: %d\nScore 3: %d\ntotal:
40、%d\n\n",i,p->ID,p->name,p->score1,p->score2,p->score3,p->total);</p><p> p=p->next;</p><p><b> i++;</b></p><p><b> }</b></p&g
41、t;<p><b> }</b></p><p> LinkList Creat(LinkList T,int n)</p><p><b> {</b></p><p> LNode *p,*r;</p><p><b> int i;</b><
42、/p><p> T=(LNode *)malloc(sizeof(LNode));</p><p> T->next=NULL;</p><p><b> r=T;</b></p><p> for(i=0;i<n;i++)</p><p><b> {</b&g
43、t;</p><p> p=(LNode *)malloc(sizeof(LNode));</p><p> printf("Please enter the student's student ID:");</p><p> scanf("%d",&p->ID);</p><p
44、> printf("Please enter the student's name: ");</p><p> scanf("%s",p->name);</p><p> printf("Please enter the student's score 1: ");</p><
45、p> scanf("%d",&p->score1);</p><p> printf("Please enter the student's score 2: ");</p><p> scanf("%d",&p->score2);</p><p> pri
46、ntf("Please enter the student's score 3: ");</p><p> scanf("%d",&p->score3);</p><p> p->total=p->score1+p->score2+p->score3;</p><p> pr
47、intf("The total score is %d\n",p->total);</p><p> p->next=NULL;</p><p> r->next=p;</p><p><b> r=p;</b></p><p><b> }</b>&l
48、t;/p><p><b> return T;</b></p><p><b> }</b></p><p> int main()</p><p><b> {</b></p><p><b> LNode *p;</b>&
49、lt;/p><p><b> int n;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> system("cls");</p><p> printf(&qu
50、ot; Student Scores Management\n\n");</p><p> printf(" 1-Enter the student's score\n");</p><p> printf(" 2-Query the student's score\n");</p>&
51、lt;p> printf(" 3-Insert the student's score\n");</p><p> printf(" 4-Delete the student's score\n");</p><p> printf(" 5-Sort the student's scor
52、e\n");</p><p> printf(" 0-Exit system\n\n");</p><p> printf("Please enter a number selection(0-5):");</p><p> int choice;</p><p> scanf(
53、"%d",&choice);</p><p> system("cls");</p><p> if(choice==0)</p><p><b> exit(0);</b></p><p> switch(choice)</p><p>&
54、lt;b> {</b></p><p> case 1:printf("Please enter the number of students you want to enter your student's scores: ");scanf("%d",&n);</p><p> p=Creat(p,n);pr
55、intf("\n\nPlease enter your choice(1):");printf("1-Esc");scanf("%d",&n);if(n)break;</p><p> case 2:printf("Please enter the number of students you want to query your s
56、tudent's scores: ");</p><p> scanf("%d",&n);</p><p> int i=0;while(i<n){Inquiry(p);i++;}</p><p> printf("\nPlease enter your choice(1):");prin
57、tf("1-Esc");scanf("%d",&n);break;</p><p> case 3:printf("Please enter the number of students you want to insert your student's scores: ");</p><p> scanf(&
58、quot;%d",&n);Insert(p,n);</p><p> printf("\nPlease enter your choice(1):");printf("1-Esc");scanf("%d",&n);break;</p><p> case 4:printf("Please e
59、nter the number of students you want to delete your student's scores: ");</p><p> scanf("%d",&n);</p><p> i=0;while(i<n){Delete(p);i++;}</p><p> printf(
60、"\nPlease enter your choice(1):");printf("1-Esc");scanf("%d",&n);break;</p><p> case 5:Sort(p);</p><p> printf("\nPlease enter your choice(1):");pri
61、ntf("1-Esc");scanf("%d",&n);break;</p><p> default:break;</p><p><b> }</b></p><p><b> }</b></p><p><b> return
62、0;</b></p><p><b> }</b></p><p><b> 7. 測(cè)試情況:</b></p><p><b> 截圖:</b></p><p> 程序輸出為:Num: 1</p><p><b> ID
63、: 1</b></p><p><b> Name: n1</b></p><p> Score 1: 78</p><p> Score 2: 89</p><p> Score 3: 84</p><p> total: 251</p><p>&
64、lt;b> Num: 2</b></p><p><b> ID: 3</b></p><p><b> Name: n3</b></p><p> Score 1: 68</p><p> Score 2: 89</p><p> Score
65、3: 90</p><p> total: 247</p><p> 課程設(shè)計(jì)的名稱:停車場(chǎng)的管理</p><p><b> 問(wèn)題描述:</b></p><p> 設(shè)停車場(chǎng)內(nèi)只有一個(gè)可停放n輛汽車的狹長(zhǎng)通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場(chǎng)內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門在最南端,最先到
66、達(dá)的第一輛車停放在車場(chǎng)的最北端),若車場(chǎng)內(nèi)已停滿n輛汽車,則后來(lái)的汽車只能在門外的便道上等候,一旦有車開走,則排在便道上的第一輛車即可開入;</p><p> 當(dāng)停車場(chǎng)內(nèi)某輛車要離開時(shí),在它之后開入的車輛必須先退出車場(chǎng)為它讓路,待該輛車開出大門外,其它車輛再按原次序進(jìn)入車場(chǎng),每輛停放在車場(chǎng)的車在它離開停車場(chǎng)時(shí)必須按它停留的時(shí)間長(zhǎng)短交納費(fèi)用。</p><p> 試為停車場(chǎng)編制按上述要求進(jìn)
67、行管理的模擬程序。</p><p><b> 基本要求:</b></p><p> 綜合利用棧和隊(duì)列模擬停車場(chǎng)管理,學(xué)習(xí)利用棧和隊(duì)列解決實(shí)際問(wèn)題。</p><p> 以棧模擬停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼及到達(dá)或離去的時(shí)刻,對(duì)
68、每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出數(shù)據(jù)為:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或便道上的停車位置;若是車離去;則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)間和應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表實(shí)現(xiàn)。</p><p> 需另設(shè)一個(gè)棧,臨時(shí)停放為給要離去的汽車讓路而從停車場(chǎng)退出來(lái)的汽車,也用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)。輸入數(shù)據(jù)按到達(dá)或離去的時(shí)刻有序。棧中每個(gè)元素表示一輛汽車,包含兩個(gè)數(shù)據(jù)項(xiàng):汽車的牌照號(hào)碼和進(jìn)入
69、停車場(chǎng)的時(shí)刻。</p><p><b> 算法思想:</b></p><p> 停車場(chǎng)運(yùn)用棧的算法思想管理車輛信息;便道運(yùn)用隊(duì)列的算法思想管理等待進(jìn)入停車場(chǎng)的車輛信息;臨時(shí)停放讓路的車輛信息也用隊(duì)列算法思想管理。</p><p><b> 模塊劃分:</b></p><p> void PR
70、INT(CarNode *p,int room其功能為打印出場(chǎng)車的信息</p><p> void Arrive(SeqStackCar *Enter,LinkQueueCar *W) 其功能為記錄進(jìn)場(chǎng)車和等待進(jìn)場(chǎng)車信息</p><p> void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) 其功能為記錄出場(chǎng)車
71、信息</p><p> void List1(SeqStackCar *S)其功能為顯示存車信息</p><p><b> 5. 數(shù)據(jù)結(jié)構(gòu):</b></p><p> ?。?)數(shù)據(jù)類型Time定義如下:</p><p> typedef struct time</p><p><b&g
72、t; {</b></p><p><b> int hour;</b></p><p><b> int min;</b></p><p> }Time; </p><p> ?。?)數(shù)據(jù)類型CarNode定義如下:</p><p>
73、 typedef struct node</p><p><b> {</b></p><p> char num[10];</p><p> Time reach;</p><p> Time leave;</p><p> }CarNode; </p&
74、gt;<p> ?。?)數(shù)據(jù)類型SeqStackCar定義如下:</p><p> typedef struct NODE</p><p><b> {</b></p><p> CarNode *stack[MAX+1];</p><p><b> int top;</b>&
75、lt;/p><p> }SeqStackCar; </p><p> ?。?)數(shù)據(jù)類型QueueNode定義如下:</p><p> typedef struct car</p><p><b> {</b></p><p> CarNode *data;</p><
76、;p> struct car *next;</p><p> }QueueNode;</p><p> ?。?)數(shù)據(jù)類型LinkQueueCar定義如下:</p><p> typedef struct Node</p><p><b> {</b></p><p> QueueN
77、ode *head;</p><p> QueueNode *rear;</p><p> }LinkQueueCar; </p><p><b> 6. 源程序:</b></p><p><b> 源代碼</b></p><p> #include
78、 <stdio.h></p><p> #include <stdlib.h></p><p> #include <windows.h></p><p> #define price 0.15</p><p> #define max 2</p><p> //=====
79、============================================================================================</p><p><b> int flag;</b></p><p> //====================================================
80、=============================================</p><p> typedef struct time</p><p><b> {</b></p><p><b> int hour;</b></p><p><b> int min
81、;</b></p><p><b> }Time;</b></p><p> typedef struct node</p><p><b> {</b></p><p><b> long num;</b></p><p> Ti
82、me reach;</p><p> Time leave;</p><p> }CarNode; //車輛信息結(jié)點(diǎn)</p><p> typedef struct NODE</p><p><b> {</b></p><p> CarNode *stack[10];</p&
83、gt;<p><b> int top;</b></p><p> }SeqStackCar; //模擬車場(chǎng)</p><p> typedef struct car</p><p><b> {</b></p><p> CarNode *data;</p>
84、<p> struct car *next;</p><p> }QueueNode;</p><p> typedef struct Node</p><p><b> {</b></p><p> QueueNode *head;</p><p> QueueNode *
85、rear;</p><p> }LinkQueueCar; //模擬通道</p><p> //=================================================================================================</p><p> void InitStack(SeqStackC
86、ar *s) //初始化棧</p><p><b> {</b></p><p><b> int i;</b></p><p><b> s->top=0;</b></p><p> for(i=0;i<=max;i++)</p><
87、p> s->stack[s->top]=NULL;</p><p><b> }</b></p><p> void InitQueue(LinkQueueCar *Q) //初始化便道</p><p><b> {</b></p><p> Q->head=(
88、QueueNode *)malloc(sizeof(QueueNode));</p><p> if(Q->head!=NULL)</p><p><b> {</b></p><p> Q->head->next=NULL;</p><p> Q->rear=Q->head;<
89、;/p><p> return (1);</p><p><b> }</b></p><p><b> else</b></p><p> return (-1);</p><p><b> }</b></p><p>
90、 void PRINT(CarNode *p,int room)//打印出場(chǎng)車的信息</p><p><b> {</b></p><p> int A1,A2,B1,B2;</p><p> printf("\n請(qǐng)輸入離開的時(shí)間:/**:**/");</p><p> scanf("
91、;%d:%d",&p->leave.hour,&p->leave.min);</p><p> printf("離開車輛的車牌號(hào)為:%ld\n",p->num);</p><p> printf("其到達(dá)時(shí)間為: %d:%d\n",p->reach.hour,p->reach.min);&l
92、t;/p><p> printf("離開時(shí)間為: %d:%d\n",p->leave.hour,p->leave.min);</p><p> A1=p->reach.hour;</p><p> A2=p->reach.min;</p><p> B1=p->leave.hour;<
93、;/p><p> B2=p->leave.min;</p><p> printf("應(yīng)交費(fèi)用為:%2.1f RMB\n",((B1-A1)*60+(B2-A2))*price);</p><p><b> free(p);</b></p><p><b> }</b>
94、</p><p> //=================================================================================================arrive</p><p> void Arrive(SeqStackCar *Enter,LinkQueueCar *W)</p><p>&
95、lt;b> {</b></p><p> CarNode *p;</p><p> QueueNode *t;</p><p> p=(CarNode *)malloc(sizeof(CarNode));</p><p> //flushall();</p><p> printf(&qu
96、ot;請(qǐng)輸入車牌號(hào)(例:12345):\n");</p><p> scanf("%ld",&p->num);</p><p> if(Enter->top<max) //車輛未滿,車進(jìn)場(chǎng)</p><p><b> {</b></p><p> Ente
97、r->top++;</p><p> printf("車輛請(qǐng)停在第%d位置.\n",Enter->top);</p><p> printf("請(qǐng)輸入到達(dá)時(shí)間:\n");</p><p> scanf("%d:%d",&p->reach.hour,&p->rea
98、ch.min);</p><p> Enter->stack[Enter->top]=p;</p><p><b> }</b></p><p> else //車輛已滿</p><p><b> {</b></p><p> printf(&quo
99、t;該車須在便道等待!.\n");</p><p> t=(QueueNode *)malloc(sizeof(QueueNode));</p><p> t->data=p;</p><p> t->next=NULL;</p><p> W->rear->next=t;</p>&l
100、t;p> W->rear=t;</p><p><b> }</b></p><p> printf("Return main meun(1.return 0.quit)\n");</p><p> scanf("%d",&flag);</p><p>
101、 switch(flag)</p><p><b> {</b></p><p><b> case 0:</b></p><p> system("cls");</p><p> printf("Thanks,Welcome to use next\n&qu
102、ot;);</p><p><b> exit(0);</b></p><p><b> case 1:</b></p><p> system("cls");</p><p><b> }</b></p><p><b
103、> }</b></p><p> //=================================================================================================leave</p><p> void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQ
104、ueueCar *W)</p><p><b> {</b></p><p> int i,room;</p><p> CarNode *p,*t;</p><p> QueueNode *q;</p><p> if(Enter->top>0) //盼斷車場(chǎng)內(nèi)是否有車
105、</p><p><b> {</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入車在車場(chǎng)的位置/1--%d/:\n",Enter->top); //請(qǐng)
106、輸入車在車場(chǎng)的位置</p><p> scanf("%d",&room);</p><p> if(room>=1&&room<=Enter->top)</p><p><b> break;</b></p><p><b> }</b
107、></p><p> while(Enter->top>room) //車輛離開</p><p><b> {</b></p><p> Temp->top++;</p><p> Temp->stack[Temp->top]=Enter->stack[Enter->
108、;top];</p><p> Enter->stack[Enter->top]=NULL;</p><p> Enter->top--;</p><p><b> }</b></p><p> p=Enter->stack[Enter->top];</p><p
109、> Enter->stack[Enter->top]=NULL;</p><p> Enter->top--;</p><p> while(Temp->top>=1)</p><p><b> {</b></p><p> Enter->top++;</p>
110、;<p> Enter->stack[Enter->top]=Temp->stack[Temp->top];</p><p> Temp->stack[Temp->top]=NULL;</p><p> Temp->top--;</p><p><b> }</b></p&g
111、t;<p> PRINT(p,room); //判斷通道上是否有車及車場(chǎng)是否已滿</p><p> if((W->head!=W->rear)&&Enter->top<max) //便道的車輛進(jìn)場(chǎng)</p><p><b> {</b></p><p> q=W->hea
112、d->next;</p><p> t=q->data;</p><p> Enter->top++;</p><p> printf("便道的%s號(hào)車進(jìn)入車場(chǎng)第%d位置.\n",t->num,Enter->top);</p><p> printf("請(qǐng)輸入現(xiàn)在的時(shí)間/**
113、:**/:\n");</p><p> scanf("%d:%d",&t->reach.hour,&t->reach.min);</p><p> W->head->next=q->next;</p><p> if(q==W->rear)</p><p>
114、; W->rear=W->head;</p><p> Enter->stack[Enter->top]=t;</p><p><b> free(q);</b></p><p><b> }</b></p><p><b> else</b>
115、</p><p> printf("便道;里沒(méi)有車.\n");</p><p><b> }</b></p><p><b> else</b></p><p> printf("車場(chǎng)里沒(méi)有車.\n"); //車場(chǎng)里沒(méi)有車</p>&l
116、t;p> printf("Return main meun(1.return 0.quit)\n");</p><p> scanf("%d",&flag);</p><p> switch(flag)</p><p><b> {</b></p><p>&
117、lt;b> case 0:</b></p><p> system("cls");</p><p> printf("Thanks,Welcome to use next\n");</p><p><b> exit(0);</b></p><p><
118、;b> case 1:</b></p><p> system("cls");</p><p><b> }</b></p><p><b> }</b></p><p> //=====================================
119、============================================================show</p><p> void List1(SeqStackCar *S) //顯示存車信息</p><p><b> {</b></p><p><b> int i;</b></
120、p><p> if(S->top>0) //判斷車場(chǎng)內(nèi)是否有車</p><p><b> {</b></p><p> printf("車場(chǎng)\n");</p><p> for(i=1;i<=S->top;i++)</p><p><b>
121、; {</b></p><p> printf("位置%d\到達(dá)時(shí)間:%d:%d\t號(hào)碼:%ld\n",i,S->stack[i]->reach.hour,S->stack[i]->reach.min,S->stack[i]->num);</p><p><b> }</b></p>
122、<p><b> }</b></p><p><b> else</b></p><p> printf("車場(chǎng)里沒(méi)有車.\n");</p><p> printf("Return main meun(1.return 0.quit)\n");</p>
123、;<p> scanf("%d",&flag);</p><p> switch(flag)</p><p><b> {</b></p><p><b> case 0:</b></p><p> system("cls");
124、</p><p> printf("Thanks,Welcome to use next\n");</p><p><b> exit(0);</b></p><p><b> case 1:</b></p><p> system("cls");&l
125、t;/p><p><b> }</b></p><p><b> }</b></p><p> void List2(LinkQueueCar *W)</p><p><b> {</b></p><p> QueueNode *p;</p&
126、gt;<p> p=W->head->next;</p><p> if(W->head!=W->rear)</p><p><b> {</b></p><p> printf("等待車輛的號(hào)碼為:");</p><p> while(p!=NULL)
127、</p><p><b> {</b></p><p> printf("%ld\n",p->data->num);</p><p> p=p->next;</p><p><b> }</b></p><p><b>
128、 }</b></p><p><b> else</b></p><p> printf("便道里沒(méi)有車.\n");</p><p> printf("Return main meun(1.return 0.quit)\n");</p><p> scanf(
129、"%d",&flag);</p><p> switch(flag)</p><p><b> {</b></p><p><b> case 0:</b></p><p> system("cls");</p><p>
130、; printf("Thanks,Welcome to use next\n");</p><p><b> exit(0);</b></p><p><b> case 1:</b></p><p> system("cls");</p><p>&
131、lt;b> }</b></p><p><b> }</b></p><p> void List(SeqStackCar S,LinkQueueCar W)</p><p><b> {</b></p><p><b> int tag;</b>&
132、lt;/p><p> printf("1.車場(chǎng)\n");</p><p> printf("2.便道\n");</p><p> printf("0.返回\n");</p><p> scanf("%d",&tag);</p><p
133、> system("cls");</p><p> switch(tag)</p><p><b> {</b></p><p><b> case 0:</b></p><p><b> break;</b></p><
134、p><b> case 1:</b></p><p> List1(&S);</p><p><b> break;</b></p><p><b> case 2:</b></p><p> List2(&W);</p><
135、p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> //=============================================================================
136、====================main</p><p> int main()</p><p><b> {</b></p><p> SeqStackCar Enter,Temp;</p><p> LinkQueueCar Wait;</p><p><b> i
137、nt ch;</b></p><p> InitStack(&Enter);</p><p> InitStack(&Temp);</p><p> InitQueue(&Wait);</p><p> AA:printf("停車場(chǎng)\n");</p><p&g
138、t; printf("\n1.車輛到達(dá)\n");</p><p> printf("2.車輛離開\n");</p><p> printf("3.列表顯示\n");</p><p> printf("0.退出系統(tǒng)\n");</p><p> scanf(
139、"%d",&flag);</p><p> system("cls");</p><p> switch(flag)</p><p><b> {</b></p><p><b> case 0:</b></p><p>
140、; printf("Thanks,Welcome to use next\n");</p><p><b> return 0;</b></p><p><b> case 1:</b></p><p> Arrive(&Enter,&Wait);</p><
141、p><b> goto AA;</b></p><p><b> case 2:</b></p><p> Leave(&Enter,&Temp,&Wait);</p><p><b> goto AA;</b></p><p><b
142、> case 3:</b></p><p> List(Enter,Wait);</p><p><b> goto AA;</b></p><p><b> }</b></p><p><b> return 0;</b></p>&
143、lt;p><b> }</b></p><p> //=================================================================================================</p><p><b> 7. 測(cè)試情況:</b></p><p&
144、gt;<b> 截圖:</b></p><p><b> 程序輸出為:</b></p><p> The System of parking</p><p> 1.car arrive</p><p> 2.car leave</p><p> 3.show ca
145、r</p><p> 0.quit system</p><p> Parking Lot</p><p> place:1 arrived time:5:45 number:2</p><p> place:2 arrived time:9:14 number:1</p><p>
146、Return main meun(1.return 0.quit)</p><p> 課程設(shè)計(jì)的名稱:二叉樹的基本操作的實(shí)現(xiàn)</p><p><b> 1. 問(wèn)題描述:</b></p><p> 在主程序中編寫一個(gè)簡(jiǎn)單的菜單,將有關(guān)二叉樹的操作</p><p> 建立一棵二叉樹的存儲(chǔ)結(jié)構(gòu)</p>&
147、lt;p> 遍歷一棵二叉樹(包括層次遍歷)</p><p> 統(tǒng)計(jì)二叉樹葉子結(jié)點(diǎn)的個(gè)數(shù)</p><p><b> 求二叉樹的深度</b></p><p><b> 子樹交換</b></p><p><b> 2. 基本要求:</b></p><
溫馨提示
- 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ù)僅提供信息存儲(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ì)--學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---學(xué)生成績(jī)管理問(wèn)題
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--- 學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)(部分)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-學(xué)生成績(jī)查詢系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)學(xué)生成績(jī)管理課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--成績(jī)管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--學(xué)生成績(jī)管理程序的設(shè)計(jì)與實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)之學(xué)生成績(jī)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論