運動會分數(shù)統(tǒng)計課程設計報告_第1頁
已閱讀1頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  課 程 設 計 說 明 書</p><p><b>  2013年 1 月</b></p><p><b>  課程設計的目的</b></p><p>  了解并掌握數(shù)據(jù)結構與算法的設計方法,具備初步的獨立分析和設計能力;</p><p>  初步掌握軟件開發(fā)過程的問題分析、系

2、統(tǒng)設計、程序編碼、測試等基本方法和技能;</p><p>  提高綜合運用所學的理論知識和方法獨立分析和解決問題的能力;</p><p>  訓練用系統(tǒng)觀點和軟件開發(fā)規(guī)范進行軟件開發(fā),培養(yǎng)軟件工作者應具備的的工作方法和作風。</p><p>  二、問題描述問題描述及分析</p><p>  任務:參加運動會有n個學校,學校編號為1……n。比

3、賽分成m個男子項目,和w個女子項目。項目編號為男子1……m,女子m+1……m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名自己設定。(m<=20,n<=20)</p><p>  1) 可以輸入各個項目的前三名或前五名的成績;(成績只不記入個人,男女分開,項目分開,學校分開)</p><p>

4、  2) 能統(tǒng)計各學??偡郑信畧F體總分。</p><p>  3) 按學校總分排序輸出、要求:</p><p>  學校編號,名稱,總分</p><p><b>  男子團體總分</b></p><p>  男子各項目的名稱和成績(一個項目一行)</p><p><b>  女子團體總

5、分</b></p><p>  女子各項目的名稱和成績。(一個項目一行) </p><p>  4) 可以按學校編號查詢學校某個項目的情況;可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W校。 </p><p>  輸出形式:有中文提示,分數(shù)為整型</p><p>  界面要求:有合理的提示,每個功能可以設立菜單,根據(jù)提示,可以完成相

6、關的功能要求。</p><p>  存儲結構:學生自己根據(jù)系統(tǒng)功能要求自己設計,但是要求運動會的相關數(shù)據(jù)要存儲在數(shù)據(jù)文件中。</p><p><b>  數(shù)據(jù)結構描述</b></p><p>  本程序中學校的存儲結構為鏈表,</p><p>  typedef struct node1{ </p>&

7、lt;p>  int school; /*學校編號*/ </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; /*鏈域指向鏈表中第一個結點*/ </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; /*該學校獲獎的項目*/ </p><p>  int record; /*項目成績*

10、/ </p><p>  struct node2 *next; /*鏈域*/ </p><p>  }Items; </p><p>  typedef struct { </p><p>  int school; /*學校編號*/ </p><p>  int score; /*學校

11、總分*/ </p><p>  int boys; /*男團體總分*/ </p><p>  int girls; /*女團體總分*/ </p><p>  Items *firstitem; /*鏈域指向鏈表中第一個獲獎項目的結點*/ </p><p>  }SCHNode; </p><p&g

12、t;  typedef struct { </p><p>  int n; /* 學??倲?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) /* 按學校編號查詢學校某個項目情況 */ </p><p>  { int i,j; </p><p>  Items *p2; </p><p>  printf(&q

15、uot;\n ****** 按學校編號查詢學校某個項目情況 ******\n"); </p><p>  printf(" 輸入要查詢的學校編號:"); </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(" 學校編號:%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校 */ </p><p>  { int i; </p><p&

20、gt;  Schools *p1; </p><p>  printf("\n*** 按項目編號查詢?nèi)〉妹蔚膶W校 ***\n"); </p><p>  printf("輸入要查詢的項目編號:"); </p><p>  scanf("%d",&i); </p>&l

21、t;p>  printf("項目編號\t\t\t取得名次的學校\n"); </p><p>  printf("%d\t",i); </p><p>  p1=g1->a[i].firstschool; </p><p>  while(p1!=NULL) </p><p>

22、  { printf(" 學校%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:按項目代號查取得成績的學校是也是按編號查詢,只要學校項目代號與輸入要查的項目相同并且有成績就輸出。</p><p>  Funct8:在統(tǒng)計學??偡趾透鲗W校男女項目總分時思路大致相同,在統(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 按學校編號查詢學校某個項目情況</p><p>  Funct8:按項目編號查詢?nèi)〉妹蔚膶W校</p><p>&

28、lt;b>  總結</b></p><p>  課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程。</p><p>  運動會分數(shù)統(tǒng)計系統(tǒng),時間和空間復雜度計算都比較復雜,運動會在調(diào)試的時候出現(xiàn)的問題最多,頭文件就有很多問題,一開始的時候出現(xiàn)的很多錯誤都是有關頭文件的,因為既用studio

29、.h又用iostream,所以問題比較多,隨后統(tǒng)一為studio,h則問題得到解決,從中知道,兩個頭文件不能混合使用,運動會數(shù)涉及到文件的輸入輸出,這里也碰到很多問題,首先是文件不能正常的讀出,以及一些格式的錯誤,最后也得到解決,整個程序最主要的是建立學校和項目這兩個鏈表,以及兩者之間的具體關系,所以這個地方比較容易搞錯</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)、語句錯誤語句使用不當造成程序無法運行出正常的結果。</p><p>  3)、在排序過程中輸出的結果是按總分順序排序的,但是卻不能夠正確的輸出是哪個學校的總分,解決方法

31、是在新申請的順序表的節(jié)點中加入了一個紀錄學校代號的內(nèi)容,在輸出的同時就可以把學校代號也正確的輸出來了。</p><p><b>  2、設計體會</b></p><p>  通過這次課程設計使我進一步達到理論與實際相結合,提高了自己組織數(shù)據(jù)及編寫程序的能力,使我們能夠根據(jù)問題要求和數(shù)據(jù)對象的特性,學會數(shù)據(jù)組織的方法,把現(xiàn)實世界中的實際問題在計算機內(nèi)部表示出來并用軟件解

32、決問題,培養(yǎng)良好的程序設計技能,掌握設計程序的思路,學會用計算機語言編寫程序,以實現(xiàn)所需處理的任務,鍛煉自己的動腦能力,學會用自己的思路解決現(xiàn)實中的實際問題,雖然一開始也走了一些彎路不過在同學和老師的點撥下完成了該程序,這次課程設計中遇到了很多問題,一開始準備用二維數(shù)組存放的可考慮到同一個學校同一個項目有好幾個人參加,就不能用二維數(shù)組了,如果每個學校都申請一個二維數(shù)組也非常不方便,還是用順序表方便也不浪費空間,在這次課程設計的過程中雖然

33、很多次都參照了課本及資料,不過這使我更加熟悉了順序表以及結構體的定義及實現(xiàn),調(diào)試過程中也遇到了一些問題也都是自己獨立思考完成的,還有一個體會是,遇到不會的地方可以參考課本也可以去圖書館或網(wǎng)上查資料,當然主要思路有了也就簡單點了,一開始思路不是很清楚就開始在敲程序了,浪費了很多時間,在老師的指導下,把自己的思路理清楚了再來敲程序果真是事半功倍,這真是個很好的收獲。</p><p><b>  3、性能分析

34、</b></p><p>  在排序時用到了直接插入排序,從算法描述中可以看到,在搜索插入位置時,遇到關鍵字相等的元素就停止比較和移動元素,可以確定該算法是穩(wěn)定的排序算法。從空間角度上看,它只需要一個元素的輔助空間r[0]。從時間角度上看,主要時間耗費在關鍵字的比較和移動元素上。n為順序表表長,平均時間復雜度為O(n2)最壞時間復雜度為O(n2)輔助存儲空間r[0]。</p><p

35、>  類似的編程問題,在設計中還遇到了很多。最后在老師的指導下,和班級幾個同學的幫助下,終于解決,較為完善的完成了任務。</p><p>  回顧這次課程設計,使我感慨頗多。的確,從理論到實踐,在整整一星期的日子里,學到很多很多的的東西,同時不僅可以鞏固學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,從而提高自己的實際動手編程能力和獨立思考的能力。

36、</p><p><b>  八、參考文獻</b></p><p>  【1】嚴蔚敏,吳偉民。數(shù)據(jù)結構(C語言版)。清華大學出版社,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; /*學校編號*/ </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; /*鏈域指向鏈表中第一個結點*/ </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; /*該學校獲獎的項目*/ </p><p>  int record; /*項目成績

42、*/ </p><p>  struct node2 *next; /*鏈域*/ </p><p>  }Items; </p><p>  typedef struct { </p><p>  int school; /*學校編號*/ </p

43、><p>  int score; /*學??偡?/ </p><p>  int boys; /*男團體總分*/ </p><p>  int girls; /*女團體總分*/ </p><p>  Items *firstitem; /*鏈域指向鏈表中第一個獲獎項目的結點*/ &

44、lt;/p><p>  }SCHNode; </p><p>  typedef struct { </p><p>  int n; /* 學??倲?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)⒓舆\動會的學校總數(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標志結束)\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名:學校(學校編號為數(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名:學校(學校編號為數(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) /* 輸出各學??偡?*

83、/ </p><p>  { int k; </p><p>  printf("\n\n ****** 輸出各學??偡?******\n"); </p><p>  printf(" 學校編號\t 總分 \n

84、"); </p><p>  for(k=1;k<=g2->n;k++) </p><p>  printf(" 學校%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) /* 按學校編號排序輸出 */ </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 ****** 按學校編號排序輸出 ******\n"); </p><p>  printf(" 學

88、校編號\t\t\t獲獎情況 \n"); </p><p>  for(k=1;k<=g2->n;k++) </p><p>  { printf("\t\t\t\t學校%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) /* 按學校總分排序輸出 */

92、</p><p>  { int i,j,k; </p><p>  Items *p2; </p><p>  printf("\n\n ****** 按學??偡峙判蜉敵?******\n"); </p><p>  printf(" 學校編號\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("學校 %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("學校編號\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("學校 %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("學校編號\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("學校 %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) /* 按學校編號查詢學校某個項目情況 */ </p><p>  { int i,j

123、; </p><p>  Items *p2; </p><p>  printf("\n ****** 按學校編號查詢學校某個項目情況 ******\n"); </p><p>  printf(" 輸入要查詢的學校編號:"

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(" 學校編號:%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校 */ </p><p>  { int i; </p><p>  Schools *p1; </p><p>  printf("\n*** 按項目編號查詢?nèi)〉妹蔚膶W校 ***\n&q

129、uot;); </p><p>  printf("輸入要查詢的項目編號:"); </p><p>  scanf("%d",&i); </p><p>  printf("項目編號\t\t\t取得名次的學校\n"); </p><p>

130、;  printf("%d\t",i); </p><p>  p1=g1->a[i].firstschool; </p><p>  while(p1!=NULL) </p><p>  { printf(" 學校%d:得%d分 ",p1->school,p1->recor

溫馨提示

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

評論

0/150

提交評論