運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  游戲算法實(shí)踐報(bào)告</b></p><p><b>  目錄</b></p><p>  1 問題定義與描述3</p><p>  1.1 問題定義3</p><p>  1.2 問題描述3</p><p><b>  2 關(guān)鍵技術(shù)

2、3</b></p><p><b>  3 數(shù)據(jù)的組織3</b></p><p>  3.1數(shù)據(jù)類型定義3</p><p>  3.2數(shù)據(jù)存儲結(jié)構(gòu)5</p><p><b>  4 總體設(shè)計(jì)5</b></p><p>  4.1 系統(tǒng)模塊圖5</

3、p><p>  4.2數(shù)組和鏈表的基本操作5</p><p><b>  5 詳細(xì)設(shè)計(jì)7</b></p><p>  5.1主函數(shù)流程圖7</p><p>  5.2輸入各個項(xiàng)目成績的函數(shù)流程圖8</p><p>  5.3比賽成績排序輸出函數(shù)流程圖9</p><p>

4、;  6 測試結(jié)果及分析10</p><p>  6.1主菜單窗口10</p><p>  6.2輸入各個項(xiàng)目成績并存儲文件10</p><p>  6.3統(tǒng)計(jì)各學(xué)??偡?3</p><p>  6.4按學(xué)校編號排序輸出13</p><p>  6.5按學(xué)校總分排序輸出13</p><p

5、>  6.6按男團(tuán)體總分排序輸出14</p><p>  6.7按女團(tuán)體總分排序輸出15</p><p>  6.8按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況15</p><p>  6.9按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校16</p><p><b>  7 心得體會16</b></p><p>

6、  附錄:程序代碼17</p><p><b>  1 問題定義與描述</b></p><p><b>  1.1 問題定義</b></p><p><b>  運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)</b></p><p><b>  1.2 問題描述</b></p

7、><p>  參加運(yùn)動會有n個學(xué)校,學(xué)校編號為1……n。比賽分成m個男子項(xiàng)目和w個女子項(xiàng)目。項(xiàng)目編號為男子1……m,女子m+1……m+w。不同的項(xiàng)目取前前三名積分;前三名的積分分別為:5、3、2(m、w<=20,n<=10)。</p><p>  1.可以輸入各個項(xiàng)目的前三名或前五名的成績;</p><p>  2.能統(tǒng)計(jì)各學(xué)??偡郑?lt;/p>

8、<p>  3.可以按學(xué)校編號、學(xué)??偡?、男女團(tuán)體總分排序輸出;</p><p>  4.可以按學(xué)校編號查詢學(xué)校某個項(xiàng)目的情況;可以按項(xiàng)目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。</p><p>  規(guī)定:輸入數(shù)據(jù)形式和范圍:20以內(nèi)的整數(shù)。</p><p><b>  2 關(guān)鍵技術(shù)</b></p><p>  C語言

9、 數(shù)組 鏈表</p><p><b>  3 數(shù)據(jù)的組織</b></p><p>  需要輸入學(xué)校編號,項(xiàng)目編號,取得的名次,以及哪些名次</p><p><b>  3.1數(shù)據(jù)類型定義</b></p><p>  typedef struct node1</p><p>

10、;<b>  {</b></p><p>  int school; /*學(xué)校編號*/</p><p>  int record; /*項(xiàng)目成績*/</p><p>  struct node1 *next; /*鏈域*/</p><p>  }Schools; </p><p>

11、  typedef struct</p><p><b>  {</b></p><p>  int item; /*項(xiàng)目編號*/</p><p>  Schools *firstschool; /*鏈域指向鏈表中第一個結(jié)點(diǎn)*/</p><p>  }ITEM; </p><p>  

12、typedef struct </p><p><b>  { </b></p><p>  int z; /* 項(xiàng)目總數(shù) */ </p><p>  ITEM a[MAX]; </p><p>  }ALLitems; </p><p>  typedef struct node

13、2 </p><p><b>  { </b></p><p>  int item; /*該學(xué)校獲獎的項(xiàng)目*/ </p><p>  int record; /*項(xiàng)目成績*/ </p><p>  struct node2 *next; /*鏈域*/ </p><p> 

14、 }Items; </p><p>  typedef struct </p><p><b>  { </b></p><p>  int school; /*學(xué)校編號*/ </p><p>  int score; /*學(xué)??偡?/ </p><p>  int bo

15、ys; /*男團(tuán)體總分*/ </p><p>  int girls; /*女團(tuán)體總分*/ </p><p>  Items *firstitem; /*鏈域指向鏈表中第一個獲獎項(xiàng)目的結(jié)點(diǎn)*/ </p><p>  }SCHNode; </p><p>  typedef struct </p><

16、;p><b>  { </b></p><p>  int n; /* 學(xué)??倲?shù) */ </p><p>  SCHNode b[MAX]; </p><p>  }ALLNode; </p><p><b>  3.2數(shù)據(jù)存儲結(jié)構(gòu)</b></p><

17、;p><b>  以鏈表和數(shù)組實(shí)現(xiàn)</b></p><p><b>  4 總體設(shè)計(jì)</b></p><p><b>  4.1 系統(tǒng)模塊圖</b></p><p>  圖4.1 系統(tǒng)模塊圖</p><p>  4.2數(shù)組和鏈表的基本操作</p><

18、p>  輸入階段,數(shù)組作為鏈表的數(shù)據(jù)域,將數(shù)據(jù)存放在數(shù)組的各個成員中。</p><p>  輸出階段,將存儲在數(shù)組中的數(shù)據(jù)進(jìn)行調(diào)用,通過按數(shù)組中同一成員不同項(xiàng)目的大小不同來進(jìn)行比較,來進(jìn)行排序。</p><p><b>  5 詳細(xì)設(shè)計(jì)</b></p><p><b>  5.1主函數(shù)流程圖</b></p>

19、;<p>  圖5.1 主函數(shù)流程圖</p><p>  5.2輸入各個項(xiàng)目成績的函數(shù)流程圖</p><p>  圖5.2輸入各個項(xiàng)目成績的函數(shù)流程圖</p><p>  5.3比賽成績排序輸出函數(shù)流程圖</p><p>  圖5.3比賽成績排序輸出函數(shù)流程圖</p><p><b>  6 測

20、試結(jié)果及分析</b></p><p><b>  6.1主菜單窗口</b></p><p><b>  圖6.1主菜單窗口</b></p><p>  6.2輸入各個項(xiàng)目成績并存儲文件</p><p>  請選擇(0~8):1 進(jìn)入輸入各個項(xiàng)目成績并存儲文件</p><

21、;p>  圖6.21進(jìn)入輸入各個項(xiàng)目成績界面</p><p>  輸入男子項(xiàng)目總數(shù)m:2 </p><p>  輸入女子項(xiàng)目總數(shù)w:2 </p><p>  輸入?yún)⒓舆\(yùn)動會的學(xué)??倲?shù)n: 3</p><p>  圖6.22輸入項(xiàng)目和學(xué)??倲?shù)</p><p>  輸入 項(xiàng)目:1 請選擇1(1.前

22、三名2.前五名)</p><p>  第3名:學(xué)校<學(xué)校編號為數(shù)字>3</p><p>  第2名:學(xué)校<學(xué)校編號為數(shù)字>2</p><p>  第1名:學(xué)校<學(xué)校編號為數(shù)字>1</p><p>  項(xiàng)目:2 請選擇1(1.前三名2.前五名)</p><p>  第3名:學(xué)校

23、<學(xué)校編號為數(shù)字>1</p><p>  第2名:學(xué)校<學(xué)校編號為數(shù)字>2</p><p>  第1名:學(xué)校<學(xué)校編號為數(shù)字>3</p><p>  項(xiàng)目:3 請選擇1(1.前三名2.前五名)</p><p>  第3名:學(xué)校<學(xué)校編號為數(shù)字>3</p><p> 

24、 第2名:學(xué)校<學(xué)校編號為數(shù)字>1</p><p>  第1名:學(xué)校<學(xué)校編號為數(shù)字>2</p><p>  項(xiàng)目:4 請選擇1(1.前三名2.前五名)</p><p>  第3名:學(xué)校<學(xué)校編號為數(shù)字>3</p><p>  第2名:學(xué)校<學(xué)校編號為數(shù)字>1</p><

25、;p>  第1名:學(xué)校<學(xué)校編號為數(shù)字>2</p><p>  圖6.23輸入項(xiàng)目信息</p><p>  輸入 項(xiàng)目:0 返回到主菜單窗口</p><p>  圖6.24返回主界面 <

26、;/p><p>  6.3統(tǒng)計(jì)各學(xué)??偡?lt;/p><p>  請選擇(0~8):2 進(jìn)入統(tǒng)計(jì)各學(xué)??偡?lt;/p><p>  圖6.3統(tǒng)計(jì)各學(xué)??偡?lt;/p><p>  6.4按學(xué)校編號排序輸出</p><p>  請按任意鍵繼續(xù) 0 返回到主菜單窗口 </p><p>  請選擇(0~8):

27、3 按學(xué)校編號排序輸出</p><p>  圖6.4按學(xué)校編號排序輸出</p><p>  6.5按學(xué)??偡峙判蜉敵?lt;/p><p>  請按任意鍵繼續(xù) 0 返回到菜單主界面</p><p>  請選擇(0~8):4 按學(xué)??偡峙判蜉敵?lt;/p><p>  圖6.5按學(xué)??偡峙判蜉敵?lt;/p><p

28、>  6.6按男團(tuán)體總分排序輸出</p><p>  請按任意鍵繼續(xù) 0 返回到菜單主界面 </p><p>  請選擇(0~8):5 按男團(tuán)體總分排序輸出</p><p>  圖6.6按男團(tuán)體總分排序輸出</p><p>  6.7按女團(tuán)體總分排序輸出</p><p>  請按任意鍵繼續(xù) 0 返回到

29、菜單主界面 </p><p>  請選擇(0~8):6 按女團(tuán)體總分排序輸出</p><p>  圖6.7按女團(tuán)體總分排序輸出</p><p>  6.8按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況 </p><p>  請按任意鍵繼續(xù) 0 返回到菜單主界面</p><p>  請選擇(0~8):7 按學(xué)校編號查詢學(xué)校某

30、個項(xiàng)目情況</p><p>  圖6.8按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況</p><p>  6.9按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校</p><p>  請按任意鍵繼續(xù) 0 返回到菜單主界面</p><p>  請選擇(0~8):8 按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校</p><p>  圖6.9按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校&

31、lt;/p><p><b>  7 心得體會</b></p><p>  本次課程設(shè)計(jì),不僅檢驗(yàn)了我的實(shí)踐能力,也讓自己可以很明確的了解到自己哪些知識點(diǎn)掌握的比較好,哪些知識點(diǎn)運(yùn)用的還不夠熟練。同時(shí)通過與組員和老師之間的交流,學(xué)到了很多自己所不了解的知識,多問,多學(xué),實(shí)踐與團(tuán)隊(duì)合作,才是關(guān)鍵。</p><p><b>  附錄:程序代碼&

32、lt;/b></p><p>  #include <stdio.h> </p><p>  #include <stdlib.h> </p><p>  #include <string.h> </p><p>  #include <io.h> <

33、;/p><p>  #define MAX 50 </p><p>  typedef struct node1</p><p><b>  {</b></p><p>  int school; /*學(xué)校編號*/</p><p>  int record; /*項(xiàng)目成績*/</p>

34、;<p>  struct node1 *next; /*鏈域*/</p><p>  }Schools; </p><p>  typedef struct</p><p><b>  {</b></p><p>  int item; /*項(xiàng)目編號*/</p><p&g

35、t;  Schools *firstschool; /*鏈域指向鏈表中第一個結(jié)點(diǎn)*/</p><p>  }ITEM; </p><p>  typedef struct </p><p><b>  { </b></p><p>  int z; /* 項(xiàng)目總數(shù) */ </p><

36、;p>  ITEM a[MAX]; </p><p>  }ALLitems; </p><p>  typedef struct node2 </p><p><b>  { </b></p><p>  int item; /*該學(xué)校獲獎的項(xiàng)目*/ </p><p>  

37、int record; /*項(xiàng)目成績*/ </p><p>  struct node2 *next; /*鏈域*/ </p><p>  }Items; </p><p>  typedef struct </p><p><b>  { </b></p><p> 

38、 int school; /*學(xué)校編號*/ </p><p>  int score; /*學(xué)??偡?/ </p><p>  int boys; /*男團(tuán)體總分*/ </p><p>  int girls; /*女團(tuán)體總分*/ </p><p>  Items *firstitem; /*鏈域指向鏈表中第一個獲獎項(xiàng)

39、目的結(jié)點(diǎn)*/ </p><p>  }SCHNode; </p><p>  typedef struct </p><p><b>  { </b></p><p>  int n; /* 學(xué)??倲?shù) */ </p><p>  SCHNode b[MAX]; </

40、p><p>  }ALLNode; </p><p>  ALLitems *g1; </p><p>  ALLNode *g2; </p><p>  /************************************</p><p>  *函數(shù)名:funct1

41、 *</p><p>  *函數(shù)功能:輸入各項(xiàng)目成績 *</p><p>  *形參:LLitems *g1,ALLNode *g2 *</p><p>  *返回值:無 *</p><p>  ********************************

42、****/ </p><p>  void funct1(ALLitems *g1,ALLNode *g2) </p><p><b>  { </b></p><p>  Schools *p1; </p><p&g

43、t;  Items *p2; </p><p>  int i,j,k,m,w,h,x; </p><p>  p1=(Schools *)malloc(sizeof(Schools)); </p><p>  p2=(Items *)malloc(sizeof(Items)); </p>&l

44、t;p>  if(!p1||!p2)</p><p>  exit(1); </p><p>  printf("\n ******輸入各個項(xiàng)目信息 ****** \n\n"); </p&g

45、t;<p>  printf(" 輸入男子項(xiàng)目總數(shù)m:"); </p><p>  scanf("%d",&m); </p><p>  if(m<0||m>20) </p><p><b>  {</b>&l

46、t;/p><p>  printf(" 輸入有誤,m是20以內(nèi)的整數(shù),請重新輸入:"); </p><p>  scanf("%d",&m);</p><p><b>  } </b></p><p>  printf("

47、 輸入女子項(xiàng)目總數(shù)w:"); </p><p>  scanf("%d",&w); </p><p>  if(w<0||w>20) </p><p><b>  { </b></p><p>  printf("

48、; 輸入有誤,w是20以內(nèi)的整數(shù),請重新輸入:"); </p><p>  scanf("%d",&w); </p><p><b>  } </b></p><p>  printf(" 輸入?yún)⒓舆\(yùn)動會的學(xué)??倲?shù)n:&qu

49、ot;); </p><p>  scanf("%d",&g2->n); </p><p>  if(g2->n<0||g2->n>20) </p><p><b>  { </b></p><p>  printf("

50、 輸入有誤,n是20以內(nèi)的整數(shù),請重新輸入:"); </p><p>  scanf("%d",&g2->n); </p><p><b>  } </b></p><p>  g1->z=m+w;</p><p>  printf(" 則項(xiàng)目

51、編號為男子1-%d,女子%d-%d",m,m+1,g1->z); </p><p>  printf("\n\n ****記錄運(yùn)動會成績****"); </p><p>  printf("\n\n (輸入0標(biāo)志結(jié)束)\n");</p&

52、gt;<p>  for(k=1;k<=g1->z;k++) </p><p><b>  { </b></p><p>  g1->a[k].item=k; </p><p>  g1->a[k].firstschool=NULL;</p><p>&l

53、t;b>  } </b></p><p>  for(k=1;k<=g2->n;k++) </p><p><b>  { </b></p><p>  g2->b[k].school=k; </p><p>  g2->b[k].firstitem=0; &l

54、t;/p><p>  g2->b[k].score=0;</p><p>  g2->b[k].boys=0;</p><p>  g2->b[k].girls=0; </p><p>  } </p><p>  g2->b[0]

55、.score=0;</p><p>  g2->b[0].boys=0;</p><p>  g2->b[0].girls=0; </p><p>  while(i!=0) </p><p><b>  { </b></p><p>  printf("\n

56、 項(xiàng)目:"); </p><p>  scanf("%d",&i); </p><p><b>  if(i!=0)</b></p><p><b>  { </b></p><p>  printf("

57、 1.前三名 2.前五名\n"); </p><p>  printf(" 請選擇:"); </p><p>  scanf("%d",&j); </p><p>  if(j!=1&&j!=

58、2) </p><p><b>  { </b></p><p>  printf(" 輸入有誤,請重新選擇:"); </p><p>  scanf("%d",&j); </p><p><b>  } &

59、lt;/b></p><p>  if(j==1) </p><p><b>  {</b></p><p><b>  h=3; </b></p><p>  do{ printf(" 第%d名:學(xué)校(學(xué)校編號為數(shù)字)"

60、,h); </p><p>  scanf("%d",&x); </p><p>  p1=(Schools *)malloc(sizeof(Schools)); </p><p>  p1->school=x;</p><p>  p2=(Items *)malloc(sizeof(Items)

61、); </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><p>  if(h==1) p2->record

62、=p1->record=5; </p><p>  p1->next=g1->a[i].firstschool; </p><p>  g1->a[i].firstschool=p1; </p><p>  p2->next=g2->b[x].firstitem; </p><p>  g2-

63、>b[x].firstitem=p2; </p><p>  g2->b[x].score=g2->b[x].score+p2->record; /* 累計(jì)總分 */ </p><p>  if(i<=m) g2->b[x].boys=g2->b[x].boys+p2->record; /* 累計(jì)男團(tuán)體總分 */ </p

64、><p>  else g2->b[x].girls=g2->b[x].girls+p2->record; /* 累計(jì)女團(tuán)體總分 */ </p><p><b>  h--; </b></p><p>  }while(x!=0&&h!=0); </p><p><b

65、>  } </b></p><p>  if(j==2) </p><p><b>  {</b></p><p><b>  h=5; </b></p><p><b>  do{ </b></p><

66、p>  printf(" 第%d名:學(xué)校(學(xué)校編號為數(shù)字)",h); </p><p>  scanf("%d",&x); </p><p>  p1=(Schools *)malloc(sizeof(Schools)); </p><p>  p1->school=x;

67、</p><p>  p2=(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->record=p1->re

68、cord=2; </p><p>  if(h==3) p2->record=p1->record=3; </p><p>  if(h==2) p2->record=p1->record=5; </p><p>  if(h==1) p2->record=p1->record=7; </p><

69、;p>  p1->next=g1->a[i].firstschool; </p><p>  g1->a[i].firstschool=p1; </p><p>  p2->next=g2->b[x].firstitem; </p><p>  g2->b[x].firstitem=p2; </p>

70、;<p>  g2->b[x].score=g2->b[x].score+p2->record; /* 累計(jì)總分 */ </p><p>  if(i<=m) g2->b[x].boys=g2->b[x].boys+p2->record; /* 累計(jì)男團(tuán)體總分 */ </p><p>  else g2-&g

71、t;b[x].girls=g2->b[x].girls+p2->record; /* 累計(jì)女團(tuán)體總分 */ </p><p><b>  h--; </b></p><p>  }while(x!=0&&h!=0); </p><p><b>  } </b></p&g

72、t;<p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  /************************************</p><p>  *函數(shù)

73、名:save *</p><p>  *函數(shù)功能:保存文件 *</p><p>  *形參:無 *</p><p>  *返回值:無 *</p><p>  *****

74、*******************************/ </p><p>  void save() </p><p><b>  {</b></p><p>  FILE *fp1,*fp2;</p><p>  fp1=(FILE *)ma

75、lloc(sizeof(FILE));</p><p>  fp2=(FILE *)malloc(sizeof(FILE));</p><p>  if((fp1=fopen("sports1","wb"))==NULL)</p><p><b>  {</b></p><p> 

76、 printf("cannot open file.\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(fwrite(g1,sizeof(ALLitems),1,fp1)!=1)</p><p>  p

77、rintf("file write error.\n");</p><p>  fclose(fp1);</p><p>  if((fp2=fopen("sports2","wb"))==NULL)</p><p><b>  {</b></p><p>  

78、printf("cannot open file.\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(fwrite(g2,sizeof(ALLNode),1,fp2)!=1)</p><p>  pri

79、ntf("file write error.\n");</p><p>  fclose(fp2);</p><p><b>  }</b></p><p>  /************************************</p><p>  *函數(shù)名:funct2

80、 *</p><p>  *函數(shù)功能:統(tǒng)計(jì)各學(xué)??偡?*</p><p>  *形參:ALLNode *g2 *</p><p>  *返回值:無 *</p><p>  **************************

81、**********/ </p><p>  void funct2(ALLNode *g2) /* 輸出各學(xué)??偡?*/ </p><p><b>  {</b></p><p><b>  int k;</b></p><p>  printf("

82、\n\n ****** 輸出各學(xué)??偡?******\n");</p><p>  printf(" 學(xué)校編號\t 總分 \n");</p><p>  for(k=1;k<=g2->n;k++)</p><p>  pr

83、intf(" %d\t\t\t %d\n",k,g2->b[k].score);</p><p>  printf("\n");</p><p>  system("pause");</p><p>  printf("

84、 按任意鍵返回主菜單......");</p><p>  getchar(); </p><p><b>  }</b></p><p>  /************************************</p><p>  *函數(shù)名:funct3

85、 *</p><p>  *函數(shù)功能:按學(xué)校編號排序輸出 *</p><p>  *形參:ALLNode *g2 *</p><p>  *返回值:無 *</p><p>  ****************************

86、********/ </p><p>  void funct3(ALLNode *g2) /* 按學(xué)校編號排序輸出 */ </p><p><b>  {</b></p><p><b>  int k; </b></p><p>  

87、Items *p2;</p><p>  p2=(Items *)malloc(sizeof(Items));</p><p>  printf("\n\n ****** 按學(xué)校編號排序輸出 ******\n"); </p><p>  printf(" 學(xué)校編號\t\t\t獲獎情況 \n"); </p

88、><p>  scanf("%d",&k); </p><p>  for(k=1;k<=g2->n;k++) </p><p><b>  {</b></p><p>  printf("\t%d\t",k);</p><p>

89、  p2=g2->b[k].firstitem;</p><p>  while(p2!=NULL)</p><p><b>  {</b></p><p>  printf("項(xiàng)目%d:得%d分 ",p2->item,p2->record);</p><p>  p2=p2->

90、;next;</p><p><b>  }</b></p><p>  printf("\n");</p><p><b>  } </b></p><p>  printf("\n"); </p><p>  system(&

91、quot;pause");</p><p>  printf("按任意鍵返回主菜單......"); </p><p>  getchar(); </p><p><b>  } </b></p><p>  /**********************************

92、**</p><p>  *函數(shù)名:funct4 *</p><p>  *函數(shù)功能:按學(xué)??偡峙判蜉敵?*</p><p>  *形參:ALLNode *g2 *</p><p>  *返回值:無 *<

93、/p><p>  ************************************/ </p><p>  void funct4(ALLNode *g2) /* 按學(xué)??偡峙判蜉敵?*/ </p><p><b>  {</b></p><p>  int

94、i,j,k;</p><p>  Items *p2;</p><p>  printf("\n\n ****** 按學(xué)??偡峙判蜉敵?******\n");</p><p>  printf(" 學(xué)校編號\t\t總分 \n");</p><p>  s

95、canf("%d",&k);</p><p>  for(i=2;i<=g2->n;i++)</p><p><b>  {</b></p><p>  printf("%d\t",k);</p><p>  p2=g2->b[k].firstitem;&

96、lt;/p><p>  while(p2!=NULL)</p><p><b>  {</b></p><p>  printf("%d \t\t%d\n",g2->b[k].school,g2->b[k].score);</p><p>  p2=p2->next;</p>

97、<p><b>  }</b></p><p>  printf("\n");</p><p>  g2->b[0].score=g2->b[i].score;</p><p>  g2->b[0].boys=g2->b[i].boys;</p><p>  g2

98、->b[0].girls=g2->b[i].girls;</p><p>  g2->b[0].school=g2->b[i].school;</p><p><b>  j=i-1;</b></p><p>  while(g2->b[0].score<g2->b[j].score&&

99、j>0)</p><p><b>  {</b></p><p>  g2->b[j+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->

100、b[j].girls;</p><p>  g2->b[j+1].school=g2->b[j].school;</p><p><b>  j--;</b></p><p><b>  }</b></p><p>  g2->b[j+1].score=g2->b[0].sc

101、ore;</p><p>  g2->b[j+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>  }

102、</b></p><p>  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&g

103、t;  printf("按任意鍵返回主菜單......");</p><p>  getchar();</p><p><b>  } </b></p><p>  /************************************</p><p>  *函數(shù)名:funct5

104、 *</p><p>  *函數(shù)功能:按男團(tuán)體總分排序輸出 *</p><p>  *形參:ALLNode *g2 *</p><p>  *返回值:無 *</p><p>  *************************

105、***********/ </p><p>  void funct5(ALLNode *g2) /* 按男團(tuán)體總分排序輸出 */ </p><p><b>  {</b></p><p>  int i,j,k; </p><p>  Items *p2;<

106、;/p><p>  p2=(Items *)malloc(sizeof(Items));</p><p>  printf("\n\n ****** 按男團(tuán)體總分排序輸出 ******\n");</p><p>  printf("學(xué)校編號\t\t男團(tuán)體總分 \n"); </p>

107、<p>  scanf("%d",&k); </p><p>  for(i=2;i<=g2->n;i++) </p><p><b>  {</b></p><p>  printf("%d\t",k); </p><p>  p

108、2=g2->b[k].firstitem; </p><p>  while(p2!=NULL) </p><p><b>  {</b></p><p>  printf("%d\t\t %d\n",g2->b[k].school,g2->b[k].boys); </p>&l

109、t;p>  p2=p2->next; </p><p><b>  }</b></p><p>  printf("\n"); </p><p>  g2->b[

110、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].school=g2->b[i].school; <

111、/p><p><b>  j=i-1; </b></p><p>  while(g2->b[0].boys<g2->b[j].boys&&j>0)</p><p><b>  {</b></p><p>  g2->b[j+1].score=g2-&g

112、t;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].school=g2->b[j].school; </p><

113、;p><b>  j--; </b></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].boys; </p>&l

114、t;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>  for(k=1;k<=g2->n;k++)</p>

115、<p>  printf("%d\t\t %d\n",g2->b[k].school,g2->b[k].boys); </p><p>  system("pause"); // 暫停等待</p><p>  printf("按任意鍵返回主

116、菜單......"); </p><p>  getchar(); </p><p><b>  } </b></p><p>  /************************************</p><p>  *函數(shù)名:funct6 *<

117、;/p><p>  *函數(shù)功能:按女團(tuán)體總分排序輸出 *</p><p>  *形參:ALLNode *g2 *</p><p>  *返回值:無 *</p><p>  ************************************/ &l

118、t;/p><p>  void funct6(ALLNode *g2) /* 按女團(tuán)體總分排序輸出 */ </p><p><b>  {</b></p><p>  int i,j,k; </p><p>  Items *p2;</p><p>  

119、p2=(Items *)malloc(sizeof(Items));</p><p>  printf("\n\n ****** 按女團(tuán)體總分排序輸出 ******\n");</p><p>  printf("學(xué)校編號\t\t女團(tuán)體總分 \n"); </p><p>  scanf

120、("%d",&k);</p><p>  for(i=2;i<=g2->n;i++) </p><p><b>  {</b></p><p>  printf("%d\t",k); </p><p>  p2=g2->b[k].firstitem

121、;</p><p>  while(p2!=NULL) </p><p>  { printf("%d\t\t %d\n",g2->b[k].school,g2->b[k].girls); </p><p>  p2=p2->next; </p><p><b>  }</b

122、></p><p>  printf("\n");</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->

123、b[i].girls; </p><p>  g2->b[0].school=g2->b[i].school; </p><p><b>  j=i-1; </b></p><p>  while(g2->b[0].girls<g2->b[j].girls&&j>0)</p&

124、gt;<p><b>  {</b></p><p>  g2->b[j+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].gir

125、ls; </p><p>  g2->b[j+1].school=g2->b[j].school; </p><p><b>  j--; </b></p><p><b>  } </b></p><p>  g2->b[j+1].score=g2->b[0

126、].score; </p><p>  g2->b[j+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

127、><b>  } </b></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&

128、quot;);</p><p>  printf("按任意鍵返回主菜單......");</p><p>  getchar(); </p><p><b>  } </b></p><p>  /*****************************************</p&

129、gt;<p>  *函數(shù)名:funct7 *</p><p>  *函數(shù)功能:按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況*</p><p>  *形參:ALLNode *g2 *</p><p>  *返回值:無 *

130、</p><p>  *****************************************/ </p><p>  void funct7(ALLNode *g2) /* 按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況 */ </p><p><b>  {</b></p><p>  i

131、nt i,j; </p><p>  Items *p2; </p><p>  printf("\n ****** 按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況 ******\n"); </p><p>  printf(" 輸入要查詢的學(xué)校編號:");

132、 </p><p>  scanf("%d",&i); </p><p>  printf(" 輸入要查詢的項(xiàng)目編號:"); </p><p>  scanf("%d",&j); </p>&

133、lt;p>  p2=g2->b[i].firstitem; </p><p>  while(p2!=NULL) </p><p><b>  {</b></p><p>  if(p2->item==j) </p><p>  printf("

134、 學(xué)校編號:%d\t項(xiàng)目%d:得%d分\n",i,p2->item,p2->record); </p><p>  p2=p2->next; </p><p><b>  } </b></p><p>  printf("\n"); </p><p&g

135、t;  system("pause");</p><p>  printf(" 按任意鍵返回主菜單......"); </p><p>  getchar(); </p><p><b>  } </b></p><p>

136、  /***************************************</p><p>  *函數(shù)名:funct8 *</p><p>  *函數(shù)功能:按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校*</p><p>  *形參:ALLNode *g1 *</p><

137、;p>  *返回值:無 *</p><p>  ***************************************/ </p><p>  void funct8(ALLitems *g1) /* 按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校 */ </p><p><

138、b>  {</b></p><p>  int i; </p><p>  Schools *p1; </p><p>  printf("\n*** 按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校 ***\n"); </p><p>  printf("輸入要查詢的項(xiàng)目編號:");

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論