版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計 說 明 書</p><p><b> 2013年 1 月</b></p><p><b> 課程設(shè)計的目的</b></p><p> 了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計方法,具備初步的獨立分析和設(shè)計能力;</p><p> 初步掌握軟件開發(fā)過程的問題分析、系
2、統(tǒng)設(shè)計、程序編碼、測試等基本方法和技能;</p><p> 提高綜合運用所學(xué)的理論知識和方法獨立分析和解決問題的能力;</p><p> 訓(xùn)練用系統(tǒng)觀點和軟件開發(fā)規(guī)范進行軟件開發(fā),培養(yǎng)軟件工作者應(yīng)具備的的工作方法和作風(fēng)。</p><p> 二、問題描述問題描述及分析</p><p> 任務(wù):參加運動會有n個學(xué)校,學(xué)校編號為1……n。比
3、賽分成m個男子項目,和w個女子項目。項目編號為男子1……m,女子m+1……m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名自己設(shè)定。(m<=20,n<=20)</p><p> 1) 可以輸入各個項目的前三名或前五名的成績;(成績只不記入個人,男女分開,項目分開,學(xué)校分開)</p><p>
4、 2) 能統(tǒng)計各學(xué)??偡?,男女團體總分。</p><p> 3) 按學(xué)??偡峙判蜉敵?、要求:</p><p> 學(xué)校編號,名稱,總分</p><p><b> 男子團體總分</b></p><p> 男子各項目的名稱和成績(一個項目一行)</p><p><b> 女子團體總
5、分</b></p><p> 女子各項目的名稱和成績。(一個項目一行) </p><p> 4) 可以按學(xué)校編號查詢學(xué)校某個項目的情況;可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。 </p><p> 輸出形式:有中文提示,分數(shù)為整型</p><p> 界面要求:有合理的提示,每個功能可以設(shè)立菜單,根據(jù)提示,可以完成相
6、關(guān)的功能要求。</p><p> 存儲結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計,但是要求運動會的相關(guān)數(shù)據(jù)要存儲在數(shù)據(jù)文件中。</p><p><b> 數(shù)據(jù)結(jié)構(gòu)描述</b></p><p> 本程序中學(xué)校的存儲結(jié)構(gòu)為鏈表,</p><p> typedef struct node1{ </p>&
7、lt;p> int school; /*學(xué)校編號*/ </p><p> int record; /*項目成績*/ </p><p> struct node1 *next; /*鏈域*/ </p><p> }Schools; </p><p> typedef struct { </
8、p><p> int item; /*項目編號*/ </p><p> Schools *firstschool; /*鏈域指向鏈表中第一個結(jié)點*/ </p><p> }ITEM; </p><p> typedef struct { </p><p> int z; /* 項目總數(shù)
9、 */ </p><p> ITEM a[MAX]; </p><p> }ALLitems; </p><p> typedef struct node2 { </p><p> int item; /*該學(xué)校獲獎的項目*/ </p><p> int record; /*項目成績*
10、/ </p><p> struct node2 *next; /*鏈域*/ </p><p> }Items; </p><p> typedef struct { </p><p> int school; /*學(xué)校編號*/ </p><p> int score; /*學(xué)校
11、總分*/ </p><p> int boys; /*男團體總分*/ </p><p> int girls; /*女團體總分*/ </p><p> Items *firstitem; /*鏈域指向鏈表中第一個獲獎項目的結(jié)點*/ </p><p> }SCHNode; </p><p&g
12、t; typedef struct { </p><p> int n; /* 學(xué)??倲?shù) */ </p><p> SCHNode b[MAX]; </p><p> }ALLNode; </p><p> ALLitems *g1; </p><p> ALLNode *g2; &
13、lt;/p><p><b> 主要算法流程描述</b></p><p><b> 1、總流程圖:</b></p><p><b> 分模塊流程圖:</b></p><p> Funct7流程圖如下:</p><p> Funct8流程圖如下:<
14、;/p><p> 3、主要代碼及程序說明</p><p> void funct7(ALLNode *g2) /* 按學(xué)校編號查詢學(xué)校某個項目情況 */ </p><p> { int i,j; </p><p> Items *p2; </p><p> printf(&q
15、uot;\n ****** 按學(xué)校編號查詢學(xué)校某個項目情況 ******\n"); </p><p> printf(" 輸入要查詢的學(xué)校編號:"); </p><p> scanf("%d",&i); </p><p&
16、gt; printf(" 輸入要查詢的項目編號:"); </p><p> scanf("%d",&j); </p><p> p2=g2->b[i].firstitem; </p><p> while(p2!=NULL)
17、 </p><p> { if(p2->item==j) </p><p> printf(" 學(xué)校編號:%d\t項目%d:得%d分\n",i,p2->item,p2->record); </p><p> p2=p2->next; </p>
18、<p><b> } </b></p><p> printf("\n"); </p><p> system("pause");</p><p> printf(" 按任意鍵返回主菜單......"); &l
19、t;/p><p> getchar(); </p><p><b> } </b></p><p> void funct8(ALLitems *g1) /* 按項目編號查詢?nèi)〉妹蔚膶W(xué)校 */ </p><p> { int i; </p><p&
20、gt; Schools *p1; </p><p> printf("\n*** 按項目編號查詢?nèi)〉妹蔚膶W(xué)校 ***\n"); </p><p> printf("輸入要查詢的項目編號:"); </p><p> scanf("%d",&i); </p>&l
21、t;p> printf("項目編號\t\t\t取得名次的學(xué)校\n"); </p><p> printf("%d\t",i); </p><p> p1=g1->a[i].firstschool; </p><p> while(p1!=NULL) </p><p>
22、 { printf(" 學(xué)校%d:得%d分 ",p1->school,p1->record); </p><p> p1=p1->next; </p><p><b> } </b></p><p> printf("\n\n"); </p>&l
23、t;p> system("pause");</p><p> printf("按任意鍵返回主菜單......"); </p><p> getchar(); </p><p><b> } </b></p><p><b> 主要使用的函數(shù)&
24、lt;/b></p><p><b> Main()</b></p><p><b> Funct ()</b></p><p><b> Menue ()</b></p><p><b> Save()</b></p><
25、;p><b> 使用說明</b></p><p> Funct7:按項目代號查取得成績的學(xué)校是也是按編號查詢,只要學(xué)校項目代號與輸入要查的項目相同并且有成績就輸出。</p><p> Funct8:在統(tǒng)計學(xué)校總分和各學(xué)校男女項目總分時思路大致相同,在統(tǒng)計男(女)項目總分時只需確定下是否是男(女)子項目,如果是就加,判斷方法就是男子項目的項目代號小于等于男子
26、項目數(shù)(即:L->sc[j].xiangmu)<(L->m))而女子項目則大于男子項目數(shù)(即L->sc[j].xiangmu)>(L->m))</p><p><b> 軟件調(diào)試說明</b></p><p><b> 1 主界面</b></p><p><b> 2 建立
27、參賽者信息</b></p><p><b> 3 查詢</b></p><p><b> 5 排名</b></p><p> Funct 7 按學(xué)校編號查詢學(xué)校某個項目情況</p><p> Funct8:按項目編號查詢?nèi)〉妹蔚膶W(xué)校</p><p>&
28、lt;b> 總結(jié)</b></p><p> 課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程。</p><p> 運動會分數(shù)統(tǒng)計系統(tǒng),時間和空間復(fù)雜度計算都比較復(fù)雜,運動會在調(diào)試的時候出現(xiàn)的問題最多,頭文件就有很多問題,一開始的時候出現(xiàn)的很多錯誤都是有關(guān)頭文件的,因為既用studio
29、.h又用iostream,所以問題比較多,隨后統(tǒng)一為studio,h則問題得到解決,從中知道,兩個頭文件不能混合使用,運動會數(shù)涉及到文件的輸入輸出,這里也碰到很多問題,首先是文件不能正常的讀出,以及一些格式的錯誤,最后也得到解決,整個程序最主要的是建立學(xué)校和項目這兩個鏈表,以及兩者之間的具體關(guān)系,所以這個地方比較容易搞錯</p><p><b> 上機調(diào)試</b></p>&
30、lt;p> 1、調(diào)試中遇到問題及解決方法</p><p> 1)、程序調(diào)試過程中常會出現(xiàn)一些小錯誤,如i,j混淆少括號少分號等小問題都可以按照提示找到,然后改正。</p><p> 2)、語句錯誤語句使用不當(dāng)造成程序無法運行出正常的結(jié)果。</p><p> 3)、在排序過程中輸出的結(jié)果是按總分順序排序的,但是卻不能夠正確的輸出是哪個學(xué)校的總分,解決方法
31、是在新申請的順序表的節(jié)點中加入了一個紀(jì)錄學(xué)校代號的內(nèi)容,在輸出的同時就可以把學(xué)校代號也正確的輸出來了。</p><p><b> 2、設(shè)計體會</b></p><p> 通過這次課程設(shè)計使我進一步達到理論與實際相結(jié)合,提高了自己組織數(shù)據(jù)及編寫程序的能力,使我們能夠根據(jù)問題要求和數(shù)據(jù)對象的特性,學(xué)會數(shù)據(jù)組織的方法,把現(xiàn)實世界中的實際問題在計算機內(nèi)部表示出來并用軟件解
32、決問題,培養(yǎng)良好的程序設(shè)計技能,掌握設(shè)計程序的思路,學(xué)會用計算機語言編寫程序,以實現(xiàn)所需處理的任務(wù),鍛煉自己的動腦能力,學(xué)會用自己的思路解決現(xiàn)實中的實際問題,雖然一開始也走了一些彎路不過在同學(xué)和老師的點撥下完成了該程序,這次課程設(shè)計中遇到了很多問題,一開始準(zhǔn)備用二維數(shù)組存放的可考慮到同一個學(xué)校同一個項目有好幾個人參加,就不能用二維數(shù)組了,如果每個學(xué)校都申請一個二維數(shù)組也非常不方便,還是用順序表方便也不浪費空間,在這次課程設(shè)計的過程中雖然
33、很多次都參照了課本及資料,不過這使我更加熟悉了順序表以及結(jié)構(gòu)體的定義及實現(xiàn),調(diào)試過程中也遇到了一些問題也都是自己獨立思考完成的,還有一個體會是,遇到不會的地方可以參考課本也可以去圖書館或網(wǎng)上查資料,當(dāng)然主要思路有了也就簡單點了,一開始思路不是很清楚就開始在敲程序了,浪費了很多時間,在老師的指導(dǎo)下,把自己的思路理清楚了再來敲程序果真是事半功倍,這真是個很好的收獲。</p><p><b> 3、性能分析
34、</b></p><p> 在排序時用到了直接插入排序,從算法描述中可以看到,在搜索插入位置時,遇到關(guān)鍵字相等的元素就停止比較和移動元素,可以確定該算法是穩(wěn)定的排序算法。從空間角度上看,它只需要一個元素的輔助空間r[0]。從時間角度上看,主要時間耗費在關(guān)鍵字的比較和移動元素上。n為順序表表長,平均時間復(fù)雜度為O(n2)最壞時間復(fù)雜度為O(n2)輔助存儲空間r[0]。</p><p
35、> 類似的編程問題,在設(shè)計中還遇到了很多。最后在老師的指導(dǎo)下,和班級幾個同學(xué)的幫助下,終于解決,較為完善的完成了任務(wù)。</p><p> 回顧這次課程設(shè)計,使我感慨頗多。的確,從理論到實踐,在整整一星期的日子里,學(xué)到很多很多的的東西,同時不僅可以鞏固學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,從而提高自己的實際動手編程能力和獨立思考的能力。
36、</p><p><b> 八、參考文獻</b></p><p> 【1】嚴(yán)蔚敏,吳偉民。數(shù)據(jù)結(jié)構(gòu)(C語言版)。清華大學(xué)出版社,2011.</p><p><b> 代碼</b></p><p> #include <stdio.h> </p><p&
37、gt; #include <stdlib.h> </p><p> #include <string.h> </p><p> #include <io.h> </p><p> #include <conio.h> /*屏幕操作函數(shù)*/ </p><p
38、> #define MAX 50 </p><p> #define NULL 0 </p><p> typedef struct node1{ </p><p> int school; /*學(xué)校編號*/ </p><p> int record; /*項目成績*/
39、 </p><p> struct node1 *next; /*鏈域*/ </p><p> }Schools; </p><p> typedef struct { </p><p> int item; /*項目編號*/ </p>
40、<p> Schools *firstschool; /*鏈域指向鏈表中第一個結(jié)點*/ </p><p> }ITEM; </p><p> typedef struct { </p><p> int z; /* 項目總數(shù) */ </p><p>
41、; ITEM a[MAX]; </p><p> }ALLitems; </p><p> typedef struct node2 { </p><p> int item; /*該學(xué)校獲獎的項目*/ </p><p> int record; /*項目成績
42、*/ </p><p> struct node2 *next; /*鏈域*/ </p><p> }Items; </p><p> typedef struct { </p><p> int school; /*學(xué)校編號*/ </p
43、><p> int score; /*學(xué)??偡?/ </p><p> int boys; /*男團體總分*/ </p><p> int girls; /*女團體總分*/ </p><p> Items *firstitem; /*鏈域指向鏈表中第一個獲獎項目的結(jié)點*/ &
44、lt;/p><p> }SCHNode; </p><p> typedef struct { </p><p> int n; /* 學(xué)??倲?shù) */ </p><p> SCHNode b[MAX]; </p><p> }ALLNode;
45、 </p><p> ALLitems *g1; </p><p> ALLNode *g2; </p><p> void funct1(ALLitems *g1,ALLNode *g2) </p><p><b> { </b>&
46、lt;/p><p> Schools *p1; </p><p> Items *p2; </p><p> int i,j,k,m,w,h,x; </p><p> p1=(Schools *)malloc(sizeof(Schools)); &l
47、t;/p><p> p2=(Items *)malloc(sizeof(Items)); </p><p> if(!p1||!p2) </p><p> exit(1); </p>
48、<p> printf("\n ******輸入各個項目信息 ****** \n\n"); </p><p> printf(" 輸入男子項目總數(shù)m:"); </p><p>
49、; scanf("%d",&m); </p><p> if(m<0||m>20) </p><p> { printf(" 輸入有誤,m是20以內(nèi)的整數(shù),請重新輸入:"); </p><p> scanf("%d&quo
50、t;,&m); </p><p><b> } </b></p><p> printf(" 輸入女子項目總數(shù)w:"); </p><p> scanf("%d",&w); </p>
51、<p> if(w<0||w>20) </p><p> { printf(" 輸入有誤,w是20以內(nèi)的整數(shù),請重新輸入:"); </p><p> scanf("%d",&w); </p><p><b> }
52、 </b></p><p> printf(" 輸入?yún)⒓舆\動會的學(xué)??倲?shù)n:"); </p><p> scanf("%d",&g2->n); </p><p> if(g2->n<0||g2->n>20)
53、 </p><p> { printf(" 輸入有誤,n是20以內(nèi)的整數(shù),請重新輸入:"); </p><p> scanf("%d",&g2->n); </p><p><b> } </b></p>
54、<p> g1->z=m+w; </p><p> printf(" 則項目編號為男子1-%d,女子%d-%d",m,m+1,g1->z); </p><p> printf("\n\n ****記錄運動會成績****"); </p>
55、<p> printf("\n\n (輸入0標(biāo)志結(jié)束)\n"); </p><p> for(k=1;k<=g1->z;k++) </p><p> { g1->a[k].item=k; </p><p> g1
56、->a[k].firstschool=NULL; </p><p><b> } </b></p><p> for(k=1;k<=g2->n;k++) </p><p> { g2->b[k].school=k; </p><p> g2-&g
57、t;b[k].firstitem=0; </p><p> g2->b[k].score=0; </p><p> g2->b[k].boys=0; </p><p> g2->b[k].girls=0; </p><p> }
58、 </p><p> g2->b[0].score=0; </p><p> g2->b[0].boys=0; </p><p> g2->b[0].girls=0; </p><p> while(i!=0) </p><p> { pr
59、intf("\n 項目:"); </p><p> scanf("%d",&i); </p><p> if(i!=0) </p><p> { printf(" 1.
60、前三名 2.前五名\n"); </p><p> printf(" 請選擇:"); </p><p> scanf("%d",&j); </p><p> if(j!=1&&j!
61、=2) </p><p> { printf(" 輸入有誤,請重新選擇:"); </p><p> scanf("%d",&j); </p><p><b> } </b>&l
62、t;/p><p> if(j==1) </p><p> { h=3; </p><p> do{ printf(" 第%d名:學(xué)校(學(xué)校編號為數(shù)字)",h); </p><p> scanf(&quo
63、t;%d",&x); </p><p> p1=(Schools *)malloc(sizeof(Schools)); </p><p> p1->school=x; </p><p> p2=(Items *)malloc(sizeof(Items)); &l
64、t;/p><p> p2->item=i; </p><p> if(h==3) p2->record=p1->record=2; </p><p> if(h==2) p2->record=p1->record=3; </p>
65、<p> if(h==1) p2->record=p1->record=5; </p><p> p1->next=g1->a[i].firstschool; </p><p> g1->a[i].firstschool=p1; </p>
66、;<p> p2->next=g2->b[x].firstitem; </p><p> g2->b[x].firstitem=p2; </p><p> g2->b[x].score=g2->b[x].score+p2->record; /* 累計總分 */
67、 </p><p><b> if(i<=m) </b></p><p> g2->b[x].boys=g2->b[x].boys+p2->record; /* 累計男團體總分 */ </p><p><b> else </b>&l
68、t;/p><p> g2->b[x].girls=g2->b[x].girls+p2->record; /* 累計女團體總分 */ </p><p> h--; </p><p> }while(x!=0&&h!=0); </p>&
69、lt;p> } </p><p> if(j==2) </p><p> { h=5; </p><p> do{ printf(" 第%d名:學(xué)校(學(xué)校編號為數(shù)字)",h); </p>
70、<p> scanf("%d",&x); </p><p> p1=(Schools *)malloc(sizeof(Schools)); </p><p> p1->school=x; </p><p> p2=(
71、Items *)malloc(sizeof(Items)); </p><p> p2->item=i; </p><p> if(h==5) p2->record=p1->record=1; </p><p> if(h==4) p2->r
72、ecord=p1->record=2; </p><p> if(h==3) p2->record=p1->record=3; </p><p> if(h==2) p2->record=p1->record=5; </p><p>
73、if(h==1) p2->record=p1->record=7; </p><p> p1->next=g1->a[i].firstschool; </p><p> g1->a[i].firstschool=p1; </p><p> p2->next=g
74、2->b[x].firstitem; </p><p> g2->b[x].firstitem=p2; </p><p> g2->b[x].score=g2->b[x].score+p2->record; /* 累計總分 */ </p>
75、;<p><b> if(i<=m) </b></p><p> g2->b[x].boys=g2->b[x].boys+p2->record; /* 累計男團體總分 */ </p><p><b> else </b></p><p> g
76、2->b[x].girls=g2->b[x].girls+p2->record; /* 累計女團體總分 */ </p><p> h--; </p><p> }while(x!=0&&h!=0); </p><p> } <
77、;/p><p> } </p><p><b> } </b></p><p><b> } </b></p><p> void save() </p><p>
78、 { FILE *fp1,*fp2; </p><p> fp1=(FILE *)malloc(sizeof(FILE)); </p><p> fp2=(FILE *)malloc(sizeof(FILE)); </p><p> if((fp1=fopen("sports1","wb"))==NULL)
79、 </p><p> { printf("cannot open file.\n"); </p><p> return; </p><p><b> } </b></p><p> if(fwrite(g1,sizeof(ALLitems),1,f
80、p1)!=1) </p><p> printf("file write error.\n"); </p><p> fclose(fp1); </p><p> if((fp2=fopen("sports2","wb"))==NULL) </p>
81、<p> { printf("cannot open file.\n"); </p><p> return; </p><p><b> } </b></p><p> if(fwrite(g2,sizeof(ALLNode),1,fp2)!=1) <
82、;/p><p> printf("file write error.\n"); </p><p> fclose(fp2); </p><p><b> } </b></p><p> void funct2(ALLNode *g2) /* 輸出各學(xué)??偡?*
83、/ </p><p> { int k; </p><p> printf("\n\n ****** 輸出各學(xué)校總分 ******\n"); </p><p> printf(" 學(xué)校編號\t 總分 \n
84、"); </p><p> for(k=1;k<=g2->n;k++) </p><p> printf(" 學(xué)校%d\t\t\t %d分\n",k,g2->b[k].score); </p><p> printf("\n&
85、quot;); </p><p> system("pause"); </p><p> printf(" 按任意鍵返回主菜單......"); </p><p> getchar(); </p><p><b>
86、; } </b></p><p> void funct3(ALLNode *g2) /* 按學(xué)校編號排序輸出 */ </p><p><b> { </b></p><p> int k; </p><p> Items *
87、p2; </p><p> p2=(Items *)malloc(sizeof(Items)); </p><p> printf("\n\n ****** 按學(xué)校編號排序輸出 ******\n"); </p><p> printf(" 學(xué)
88、校編號\t\t\t獲獎情況 \n"); </p><p> for(k=1;k<=g2->n;k++) </p><p> { printf("\t\t\t\t學(xué)校%d\t",k); </p><p> p2=g2->b[k].firstitem; </p&
89、gt;<p> while(p2!=NULL) </p><p> { printf("項目%d:得%d分 ",p2->item,p2->record); </p><p> p2=p2->next; </p><p><b> }
90、</b></p><p> printf("\n"); </p><p><b> } </b></p><p> printf("\n"); </p><p> system("pause"); </p
91、><p> printf("按任意鍵返回主菜單......"); </p><p> getchar(); </p><p> } </p><p> void funct4(ALLNode *g2) /* 按學(xué)??偡峙判蜉敵?*/
92、</p><p> { int i,j,k; </p><p> Items *p2; </p><p> printf("\n\n ****** 按學(xué)??偡峙判蜉敵?******\n"); </p><p> printf(" 學(xué)校編號\t總分
93、 \n"); </p><p> for(i=2;i<=g2->n;i++) </p><p><b> { </b></p><p> p2=g2->b[1].firstitem; </p><p> while(p2!=NULL)
94、 </p><p><b> { </b></p><p> p2=p2->next; </p><p><b> } </b></p><p> printf("\n"); </p>&l
95、t;p> g2->b[0].score=g2->b[i].score; </p><p> g2->b[0].boys=g2->b[i].boys; </p><p> g2->b[0].girls=g2->b[i].girls; </p><p> g2->b[0].
96、school=g2->b[i].school; </p><p> j=i-1; </p><p> while(g2->b[0].score<g2->b[j].score&&j>0) </p><p> { g2->b[j+1].score=g2->b[j].
97、score; </p><p> g2->b[j+1].boys=g2->b[j].boys; </p><p> g2->b[j+1].girls=g2->b[j].girls; </p><p> g2->b[j+1].school=g2->b[j].school;
98、 </p><p> j--; </p><p><b> } </b></p><p> g2->b[j+1].score=g2->b[0].score; </p><p> g2->b[j+1].boys=g2->b[0].bo
99、ys; </p><p> g2->b[j+1].girls=g2->b[0].girls; </p><p> g2->b[j+1].school=g2->b[0].school; </p><p><b> } </b></p><p>
100、 for(k=1;k<=g2->n;k++) </p><p> printf("學(xué)校 %d \t\t%d分\n",g2->b[k].school,g2->b[k].score); </p><p> system("pause"); </p><p> printf(&quo
101、t;按任意鍵返回主菜單......"); </p><p> getchar(); </p><p> } </p><p> void funct5(ALLNode *g2) /* 按男團體總分排序輸出 */ </p><p> { i
102、nt i,j,k; </p><p> Items *p2; </p><p> p2=(Items *)malloc(sizeof(Items)); </p><p> printf("\n\n ****** 按男團體總分排序輸出 ******\n"); </p><
103、;p> printf("學(xué)校編號\t\t男團體總分 \n"); </p><p> for(i=2;i<=g2->n;i++) </p><p> { </p>
104、<p> p2=g2->b[1].firstitem; </p><p> while(p2!=NULL) </p><p><b> { </b></p><p> p2=p2->next; </p><p><b> }
105、 </b></p><p> printf("\n"); </p><p> g2->b[0].score=g2->b[i].score; </p>&
106、lt;p> g2->b[0].boys=g2->b[i].boys; </p><p> g2->b[0].girls=g2->b[i].girls; </p><p> g2->b[0].school=g2->b[i].school; </p><p> j=i-1;
107、 </p><p> while(g2->b[0].boys<g2->b[j].boys&&j>0) </p><p> { g2->b[j+1].score=g2->b[j].score; </p><p> g2->b[j+1].boys=g2->b[j
108、].boys; </p><p> g2->b[j+1].girls=g2->b[j].girls; </p><p> g2->b[j+1].school=g2->b[j].school; </p><p><b> j--; </b></p&g
109、t;<p><b> } </b></p><p> g2->b[j+1].score=g2->b[0].score; </p><p> g2->b[j+1].boys=g2->b[0].boys; </p><p> g2->b[j+1].girl
110、s=g2->b[0].girls; </p><p> g2->b[j+1].school=g2->b[0].school; </p><p><b> } </b></p><p> for(k=1;k<=g2->n;k++) </p><p&
111、gt; printf("學(xué)校 %d \t\t%d分\n",g2->b[k].school,g2->b[k].boys); </p><p> system("pause"); // 暫停等待 </p><p> printf("按任意鍵
112、返回主菜單......"); </p><p> getchar(); </p><p><b> } </b></p><p> void funct6(ALLNode *g2) /* 按女團體總分排序輸出 */ </p><p
113、> { int i,j,k; </p><p> Items *p2; </p><p> p2=(Items *)malloc(sizeof(Items)); </p><p> printf("\n\n ****** 按女團體總分排序輸出 ******\n"); </p&
114、gt;<p> printf("學(xué)校編號\t\t女團體總分 \n"); </p><p> for(i=2;i<=g2->n;i++) </p><p><b> { </b></p><p> p2=g2->b[1].firstitem; &
115、lt;/p><p> while(p2!=NULL) </p><p> { </p><p> p2=p2->next; </p><p><b> } </b></p><p> printf("\n"
116、); </p><p> g2->b[0].score=g2->b[i].score; </p><p> g2->b[0].boys=g2->b[i].boys; </p><p> g2->b[0].girls=g2->b[i].girls; </p>&
117、lt;p> g2->b[0].school=g2->b[i].school; </p><p> j=i-1; </p><p> while(g2->b[0].girls<g2->b[j].girls&&j>0) </p><p> { g2->b[j
118、+1].score=g2->b[j].score; </p><p> g2->b[j+1].boys=g2->b[j].boys; </p><p> g2->b[j+1].girls=g2->b[j].girls; </p><p> g2->b[j+1].schoo
119、l=g2->b[j].school; </p><p> j--; </p><p><b> } </b></p><p> g2->b[j+1].score=g2->b[0].score; </p><p> g2->b[j+
120、1].boys=g2->b[0].boys; </p><p> g2->b[j+1].girls=g2->b[0].girls; </p><p> g2->b[j+1].school=g2->b[0].school; </p><p><b> } </b&g
121、t;</p><p> for(k=1;k<=g2->n;k++) </p><p> printf("學(xué)校 %d\t\t%d分\n",g2->b[k].school,g2->b[k].girls); </p><p> system("pause"); </p>
122、;<p> printf("按任意鍵返回主菜單......"); </p><p> getchar(); } </p><p> void funct7(ALLNode *g2) /* 按學(xué)校編號查詢學(xué)校某個項目情況 */ </p><p> { int i,j
123、; </p><p> Items *p2; </p><p> printf("\n ****** 按學(xué)校編號查詢學(xué)校某個項目情況 ******\n"); </p><p> printf(" 輸入要查詢的學(xué)校編號:"
124、;); </p><p> scanf("%d",&i); </p><p> printf(" 輸入要查詢的項目編號:"); </p><p> scanf("%d",&j);
125、 </p><p> p2=g2->b[i].firstitem; </p><p> while(p2!=NULL) </p><p> { if(p2->item==j) </p><p> printf(" 學(xué)校編號:%d\
126、t項目%d:得%d分\n",i,p2->item,p2->record); </p><p> p2=p2->next; </p><p><b> } </b></p><p> printf("\n"); </p><p>
127、 system("pause"); </p><p> printf(" 按任意鍵返回主菜單......"); </p><p> getchar(); </p><p><b> } </b></p>
128、<p> void funct8(ALLitems *g1) /* 按項目編號查詢?nèi)〉妹蔚膶W(xué)校 */ </p><p> { int i; </p><p> Schools *p1; </p><p> printf("\n*** 按項目編號查詢?nèi)〉妹蔚膶W(xué)校 ***\n&q
129、uot;); </p><p> printf("輸入要查詢的項目編號:"); </p><p> scanf("%d",&i); </p><p> printf("項目編號\t\t\t取得名次的學(xué)校\n"); </p><p>
130、; printf("%d\t",i); </p><p> p1=g1->a[i].firstschool; </p><p> while(p1!=NULL) </p><p> { printf(" 學(xué)校%d:得%d分 ",p1->school,p1->recor
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 運動會分數(shù)統(tǒng)計課程設(shè)計
- 課程設(shè)計---運動會分數(shù)統(tǒng)計
- 課程設(shè)計---運動會分數(shù)統(tǒng)計
- 運動會分數(shù)統(tǒng)計課程設(shè)計
- 運動會分數(shù)統(tǒng)計系統(tǒng)課程設(shè)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告運動會分數(shù)統(tǒng)計
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計報告--運動會分數(shù)統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告-運動會分數(shù)統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告---運動會分數(shù)統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--運動會分數(shù)統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--運動會分數(shù)統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計——運動會分數(shù)統(tǒng)計
- c語言課程設(shè)計--運動會分數(shù)統(tǒng)計系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-運動會分數(shù)統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-- 運動會分數(shù)統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---運動會分數(shù)統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---運動會分數(shù)統(tǒng)計
- 數(shù)據(jù)結(jié)構(gòu)運動會分數(shù)統(tǒng)計課程設(shè)計
- c語言課程設(shè)計運動會分數(shù)統(tǒng)計系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---運動會分數(shù)統(tǒng)計
評論
0/150
提交評論