c++編程課程設(shè)計運動會成績查詢系統(tǒng)_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計報告書</b></p><p>  專 業(yè):計算機科學與技術(shù) </p><p>  課程設(shè)計名稱:《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計》</p><p>  題 目:xxx</p><p>  班 級:xxx</p><p>  學  

2、  號:xxx</p><p>  姓    名:xxx</p><p>  同 組 人 員: xxx</p><p>  指 導 老 師: </p><p>  完 成 時 間:2012年2月17日</p><p><b>  摘要</b></p><p&g

3、t;  運動會成績查詢系統(tǒng)是運動會管理中的一個重要內(nèi)容,隨著時代的進步,參加運動會的運動員數(shù)量也不斷增加、項目也越來越多、運動會舉辦也越來越頻繁,對成績的管理要求也越來越高。如何管理好各單位、運動員的成績的信息,對運動會成績管理系統(tǒng)的要求也越來越高,所以必須要不斷地更新運動會成績管理系統(tǒng),才能滿足社會日益發(fā)展的需要。</p><p>  本文是采用VC++6.0作為前臺開發(fā)工具,旨在實現(xiàn)對現(xiàn)有的運動會成績數(shù)據(jù)庫存

4、儲的基礎(chǔ)上,提供信息咨詢,信息檢索,信息存取等服務(wù),在此論文中主要實現(xiàn)對存儲在數(shù)據(jù)庫中的數(shù)據(jù)表進行這些簡單的操作,為提高運動會成績查詢系統(tǒng)的效率提供了便利。</p><p>  關(guān)鍵詞:VC++6.0;運動會成績查詢;</p><p><b>  目錄</b></p><p><b>  目錄1</b></p>

5、;<p>  第一章開發(fā)環(huán)境和開發(fā)工具1</p><p>  1.1C/C++語言簡介1</p><p>  1.2 開發(fā)背景1</p><p>  1.3 開發(fā)環(huán)境1</p><p>  第二章 算法思想2</p><p>  2.1 系統(tǒng)需求分析2</p><p&

6、gt;  2.2 系統(tǒng)總體設(shè)計2</p><p>  2.2.1 系統(tǒng)設(shè)計目標2</p><p>  2.2.2 開發(fā)設(shè)計思想3</p><p>  2.2.3 系統(tǒng)功能模塊設(shè)計4</p><p>  2.3 算法思想描述4</p><p>  第三章算法實現(xiàn)6</p><p> 

7、 3.1 數(shù)據(jù)結(jié)構(gòu)6</p><p>  3.2 程序模塊6</p><p>  3.3 各模塊之間的調(diào)用關(guān)系6</p><p>  3.4 源程序代碼6</p><p>  第四章測試與分析14</p><p>  4.1 測試數(shù)據(jù)選擇14</p><p>  4.2 測試結(jié)果分

8、析15</p><p><b>  總 結(jié)20</b></p><p><b>  心得體會21</b></p><p><b>  參考文獻22</b></p><p>  第一章 開發(fā)環(huán)境和開發(fā)工具</p><p>  C/ C ++語

9、言簡介</p><p>  C語言是一種計算機程序設(shè)計語言。它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie于1972年推出。1978后,C語言已先后被移植到大、中、小及微型機上。它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語

10、言,適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。</p><p><b>  1.2 開發(fā)背景</b></p><p>  隨著科學技術(shù)的不斷發(fā)展,計算機科學日漸成熟,其強大的功能已為人們所深刻認識,它己進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。采用計算機進行信息化管理已成為衡量企業(yè)管理科學化和現(xiàn)代化的重要標志,而人事管理的全面自動化、信息化則是其中重要的組成部分。

11、人事管理的好壞對于企業(yè)的決策者和管理者來說都至關(guān)重要,在很大程度上影響著企業(yè)的經(jīng)濟效益和社會效益。因此,本文所研究的人事管理信息系統(tǒng)具有一定的使用價值和現(xiàn)實意義。</p><p><b>  1.3 開發(fā)環(huán)境</b></p><p>  本文所采用的開發(fā)環(huán)境主要是基于C語言在Microsoft Visual C++平臺上開發(fā)的系統(tǒng),界面友好,功能強大,調(diào)試也很方便。這

12、是微軟出的一個C語言集成開發(fā)環(huán)境(IDE),主要有:VC++6.0等,分為企業(yè)版和學生版等。對于初學者VC++6.0是比較容易上手的,但其對標準支持的不好可能使人養(yǎng)成不良的編程習慣。</p><p><b>  第二章 算法思想</b></p><p>  2.1 系統(tǒng)需求分析</p><p>  ●數(shù)據(jù)結(jié)構(gòu)不僅是一般程序設(shè)計(特別是非數(shù)值性

13、程序設(shè)計)的基礎(chǔ),而且是設(shè)計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基。</p><p>  ●本實驗中,對不同的對象采取不同的存儲結(jié)構(gòu),對參賽學校采取鏈式結(jié)構(gòu),而對于參賽運動員采取一個結(jié)構(gòu)就可以了。本程序中主要用到線性表的一些基本操作,將各學校信息,運動員信息,項目信息都構(gòu)造成線性表。具體功能通過主函數(shù)分別調(diào)用各函數(shù)實現(xiàn)。</p><p>  ●參考本實驗的功能要求,本程

14、序分為七個模塊:主函數(shù)、信息錄入函數(shù)、信息統(tǒng)計函數(shù)、信息查詢函數(shù),信息排序函數(shù)、存盤函數(shù)、讀盤函數(shù)。</p><p>  ●信息錄入函數(shù)有包括學校信息錄入函數(shù)(包括學??倲?shù)、學校名稱等),競賽項目錄入函數(shù)(男子競賽項目總數(shù)、女子競賽項目總數(shù)、競賽項目名稱、取名次方法和各名次對應(yīng)的分值)、比賽結(jié)果錄入函數(shù)(各名次的學生信息等)。</p><p>  ●信息統(tǒng)計不再結(jié)果中顯示出來,為了信息查詢

15、和排序輸出。</p><p>  ●信息查詢函數(shù)包括按學校編號查詢、按學校名稱查詢、按項目編號查詢?nèi)齻€子函數(shù)。</p><p>  ●信息排序函數(shù)包括按男子總分排序函數(shù)、按女子總分排序函數(shù)、按團體總分排序函數(shù)。</p><p>  2.2 系統(tǒng)總體設(shè)計</p><p>  2.2.1 系統(tǒng)設(shè)計目標</p><p>  

16、本文研究開發(fā)的運動會管理系統(tǒng)用于支持用于查詢各個學校在運動會中的成績。有幾種目標:</p><p>  ●支持輸入各個項目的前三名或前五名的成績;</p><p>  ●能統(tǒng)計各學??偡郑?lt;/p><p>  ●可以按學校編號或名稱、學??偡?、男女團體總分排序輸出。</p><p>  ●可以按學校編號查詢學校某個項目的情況;可以按項目編號查

17、詢?nèi)〉们叭蚯拔迕膶W校。</p><p>  ●數(shù)據(jù)存入文件并能隨時查詢 </p><p>  輸入數(shù)據(jù)形式和范圍:可以輸入學校的名稱,運動項目的名稱;輸出形式有提示,各學校分數(shù)為整形;界面要求有合理的提示,每個功能可以設(shè)立菜單,根 據(jù)提示,可以完成相關(guān)的功能要求。</p><p>  ●存儲結(jié)構(gòu):學生自己根據(jù)系統(tǒng)功能要求自己設(shè)計,但是要求運動會的相關(guān)數(shù)據(jù)要存

18、儲在數(shù)據(jù)文件中。</p><p>  ●測試數(shù)據(jù):要求使用全部合法數(shù)據(jù)、整體非法數(shù)據(jù)、局部非法數(shù)據(jù)。進行程序 測試,以保證程序的穩(wěn)定。</p><p>  2.2.2 開發(fā)設(shè)計思想</p><p>  基于以上系統(tǒng)設(shè)計目標,本文在開發(fā)運動會管理系統(tǒng)時遵循了以下開發(fā)設(shè)計思想:</p><p>  ●采用現(xiàn)有的軟硬件環(huán)境及先進的管理系統(tǒng)開發(fā)方案,

19、從而達到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。</p><p>  ●盡量達到操作過程中的直觀、方便、實用、安全等要求。</p><p>  ●系統(tǒng)采用模塊化程序設(shè)計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護人員補充、維護。</p><p>  ●系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)的添加、刪除、修改、備份等操作。&

20、lt;/p><p>  2.2.3 系統(tǒng)功能模塊設(shè)計</p><p>  本系統(tǒng)分為四個模塊:輸入成績模塊、計算成績模塊、分析排名模塊、查詢模塊。得到如圖2-1所示的系統(tǒng)功能模塊圖。</p><p>  圖2-1系統(tǒng)功能模塊圖</p><p>  2.3 算法思想描述</p><p>  ●本實驗中,對不同的對象采取不同的

21、存儲結(jié)構(gòu),對參賽學校采取鏈式結(jié)構(gòu),而對于參賽運動員采取一個結(jié)構(gòu)就可以了。本程序中主要用到線性表的一些基本操作,將各學校信息,運動員信息,項目信息都構(gòu)造成線性表。具體功能通過主函數(shù)分別調(diào)用各函數(shù)實現(xiàn)。</p><p>  ●參考本實驗的功能要求,本程序分為七個模塊:主函數(shù)、信息錄入函數(shù)、信息統(tǒng)計函數(shù)、信息查詢函數(shù),信息排序函數(shù)、存盤函數(shù)、讀盤函數(shù)。</p><p>  ●信息錄入函數(shù)有包括學

22、校信息錄入函數(shù)(包括學校總數(shù)、學校名稱等),競賽項目錄入函數(shù)(男子競賽項目總數(shù)、女子競賽項目總數(shù)、競賽項目名稱、取名次方法和各名次對應(yīng)的分值)、比賽結(jié)果錄入函數(shù)(各名次的學生信息等)。</p><p>  ●信息統(tǒng)計不再結(jié)果中顯示出來,為了信息查詢和排序輸出。</p><p>  ●信息查詢函數(shù)包括按學校編號查詢、按學校名稱查詢、按項目編號查詢?nèi)齻€子函數(shù)。</p><p

23、>  ●信息排序函數(shù)包括按男子總分排序函數(shù)、按女子總分排序函數(shù)、按團體總分排序函數(shù)。</p><p><b>  算法實現(xiàn)</b></p><p><b>  3.1 數(shù)據(jù)結(jié)構(gòu)</b></p><p>  運動會管理系統(tǒng)是一個數(shù)據(jù)庫應(yīng)用系統(tǒng),各個學校的所有信息都保存在數(shù)據(jù)庫中。</p><p>

24、;<b>  3.2 程序模塊</b></p><p>  程序分為四個模塊:輸入成績模塊、計算成績模塊、分析排名模塊、查詢模塊。</p><p>  3.3 各模塊之間的調(diào)用關(guān)系</p><p>  輸入成績模塊:讓用戶輸入學校信息,比賽項目信息,比賽成績信息。</p><p>  計算成績模塊:計算用戶輸入的比賽成績

25、,計算男團分數(shù)、男團分數(shù)、總分。</p><p>  分析排名模塊:對學校的男團分、女團分和總分進行排名。</p><p>  查詢模塊:讓用戶查詢各學校成績,男團排名,女團排名,總排名和各項目的前幾名。</p><p>  模塊調(diào)用關(guān)系:計算成績模塊調(diào)用輸入成績模塊,分析排名模塊調(diào)用計算成績模塊,查詢模塊調(diào)用計算成績模塊、分析排名模塊。</p>&l

26、t;p>  函數(shù) 函數(shù)功能 時間復(fù)雜度 </p><p>  Void information 輸入信息建立系統(tǒng) O(n*n)</p><p>  Void output 輸出信息

27、 O(n*n)</p><p>  Void inquiry 查詢信息 O(n*n)</p><p>  Void main 輸入主界面 ,調(diào)用各個函數(shù) O(n*n)</p><p><b>  3.4 源程序代

28、碼</b></p><p>  #include<stdio.h></p><p>  #include<math.h></p><p>  #include <conio.h></p><p>  #include <process.h></p><p> 

29、 #define n 3//學校數(shù)目 </p><p>  #define m 2//男子項目數(shù)目 </p><p>  #define w 1//女子項目數(shù)目</p><p>  #define null 0</p><p>  typedef struct</p><p><b>  { </b&

30、gt;</p><p>  int itemnum; //項目編號</p><p>  int top; //取名次的數(shù)目</p><p>  int range[5]; //名次</p><p>  int mark[5]; //分數(shù)</p><p>  }itemnode; //定義項目結(jié)點的類型<

31、;/p><p>  typedef struct</p><p><b>  {</b></p><p><b>  int dai;</b></p><p>  int schoolname;</p><p>  int schoolnum; //學校編號</p>

32、;<p>  int score; //學??偡?lt;/p><p>  int mscore; //男團體總分</p><p>  int wscore; //女團體總分</p><p>  itemnode c[m+w]; //項目數(shù)組</p><p>  }headnode;//定義頭結(jié)點類型</p&g

33、t;<p>  headnode h[n];//定義一個頭結(jié)點數(shù)組</p><p>  void inputinformation() //輸入信息,建立系統(tǒng)</p><p><b>  {</b></p><p>  int i,j,k,s;</p><p>  for(i=0;i<n;i++)&

34、lt;/p><p><b>  { </b></p><p>  h[i].score=0;</p><p>  h[i].mscore=0;</p><p>  h[i].wscore=0;</p><p>  }

35、 //初始化頭結(jié)點</p><p>  for(i=0;i<n;i++)</p><p><b>  { </b></p><p>  printf("*****學校名稱:");</p><p>  scanf("%s",&h[i].schoolname);</

36、p><p>  printf("*****學校編號:");</p><p>  scanf("%d",&h[i].schoolnum); //輸入頭結(jié)點信息</p><p>  for(j=0;j<m+w;j++)</p><p><b>  { <

37、;/b></p><p>  printf("*****項目編號:");</p><p>  scanf("%d",&h[i].c[j].itemnum);</p><p>  printf("*****取前3名or前5名:");</p><p>  scanf(&qu

38、ot;%d",&h[i].c[j].top);</p><p>  printf("*****獲得幾個名次:");</p><p>  scanf("%d",&k); //輸入項目信息</p><p>  for(s=0;s<5;s++)</p&g

39、t;<p>  h[i].c[j].range[s]=0, h[i].c[j].mark[s]=0; //初始化排名和分數(shù)</p><p>  for(s=0;s<k;s++)</p><p><b>  { </b></p><p>  printf("*****名次:");</p&

40、gt;<p>  scanf("%d",&h[i].c[j].range[s]); //輸入所獲名次信息</p><p>  if(h[i].c[j].top==3)</p><p>  switch(h[i].c[j].range[s])</p><p><b>  {</b></p&g

41、t;<p>  case 0: h[i].c[j].mark[s]=0; break;</p><p>  case 1: h[i].c[j].mark[s]=5; break;</p><p>  case 2: h[i].c[j].mark[s]=3; break;</p><p>  case 3: h[i].c[j].mark[s]=2; br

42、eak;</p><p><b>  }</b></p><p><b>  else</b></p><p>  switch(h[i].c[j].range[s])</p><p><b>  {</b></p><p>  case 0: h[i]

43、.c[j].mark[s]=0; break;</p><p>  case 1: h[i].c[j].mark[s]=7; break;</p><p>  case 2: h[i].c[j].mark[s]=5; break;</p><p>  case 3: h[i].c[j].mark[s]=3; break;</p><p>  

44、case 4: h[i].c[j].mark[s]=2; break;</p><p>  case 5: h[i].c[j].mark[s]=1; break;</p><p><b>  }</b></p><p>  h[i].score=h[i].score+h[i].c[j].mark[s];</p><p>

45、  //按取前三名還是取前五名分別記分</p><p>  if(j<=m-1)</p><p>  h[i].mscore=h[i].mscore+h[i].c[j].mark[s];</p><p>  //是男子項目則記到男子分數(shù)里面去</p><p><b>  else</b></p>&l

46、t;p>  h[i].wscore=h[i].wscore+h[i].c[j].mark[s];</p><p>  //是女子項目則記到女子項目里面去</p><p><b>  }</b></p><p>  printf("\n");</p><p><b>  }</b&

47、gt;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void output() //輸出函數(shù)</p><p><b>  { </b></p><p>  int choice,i,j,k;

48、</p><p><b>  int sign;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("*******************1.按學校編號輸出.*****************

49、**\n");</p><p>  printf("*******************2.按學校名稱輸出.*******************\n");</p><p>  printf("*******************3.按學??偡州敵?*******************\n");</p><p>

50、;  printf("*******************4.按男團總分輸出.*******************\n");</p><p>  printf("*******************5.按女團總分輸出.*******************\n");</p><p>  printf("\n\n************

51、******* 請選擇編號*************************\n\n:");</p><p>  scanf("%d",&choice);</p><p>  switch(choice)</p><p><b>  { </b></p><p><b> 

52、 case 1:</b></p><p>  printf("學校編號 學校名稱 學??偡?男團總分 女團總分\n");</p><p>  for(i=0;i<n;i++)</p><p><b>  { </b></p><p>  printf("%8d %8

53、s %8d %8d %8d\n",h[i].schoolnum,h[i].schoolname,h[i].score,h[i].mscore,h[i].wscore);</p><p>  } //按編號順序輸出</p><p><b>  break;</b></p>&l

54、t;p>  case 2: </p><p>  printf("學校名稱 學校編號 學??偡?男團總分 女團總分\n");</p><p>  for(i=0;i<n;i++)</p><p><b>  { </b></p><p>  printf("%8s

55、%8d %8d %8d %8d\n",h[i].schoolname,h[i].schoolnum,h[i].score,h[i].mscore,h[i].wscore);</p><p>  } //按學校名稱輸出</p><p>  break; </p><p>  case

56、3: </p><p>  printf("學校名次 學校總分 學校名稱 學校編號 男團總分 女團總分\n");</p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  h[i].dai=h[i].score;<

57、/p><p><b>  }</b></p><p>  for(i=0;i<n;i++)</p><p><b>  { </b></p><p>  for(j=0;j<n-i;j++)</p><p>  if(h[j].dai<h[j+1].dai)&l

58、t;/p><p><b>  {</b></p><p>  k=h[j].dai;h[j].dai=h[j+1].dai;h[j+1].dai=k;</p><p><b>  }</b></p><p><b>  }</b></p><p>  for

59、(i=0;i<n;i++)</p><p><b>  {</b></p><p>  for(j=0;j<n;j++)</p><p>  if(h[j].score==h[i].dai)</p><p>  printf("第%d名 %12d %8s %8d %8d %8d \n",i

60、+1,h[j].score,h[j].schoolname,h[j].schoolnum,h[j].mscore,h[j].wscore);</p><p><b>  }</b></p><p><b>  //按學??偡州敵?lt;/b></p><p><b>  break;</b></p&g

61、t;<p>  case 4: </p><p>  printf("學校名次 男團總分 學校名稱 學校編號 學校總分 女團總分\n");</p><p>  for(i=0;i<n;i++)</p><p>  h[i].dai=h[i].mscore;</p><p>  f

62、or(i=0;i<n;i++)</p><p><b>  { </b></p><p>  for(j=0;j<n-i;j++)</p><p>  if(h[j].dai<h[j+1].dai)</p><p>  k=h[j].dai;h[j].dai=h[j+1].dai;h[j+1].dai=

63、k;</p><p><b>  }</b></p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  for(j=0;j<n;j++)</p><p>  if(h[j].mscore==h[i].dai)

64、</p><p>  printf("第%d名 %12d %8s %8d %8d %8d \n",i+1,h[j].mscore,h[j].schoolname,h[j].schoolnum,h[j].score,h[j].wscore);</p><p><b>  }</b></p><p><b>  //按

65、男團總分輸出</b></p><p><b>  break;</b></p><p>  case 5: </p><p>  printf("學校名次 女團總分 學校名稱 學校編號 學校總分 男團總分\n");</p><p>  for(i=0;i<n

66、;i++)</p><p>  h[i].dai=h[i].wscore;</p><p>  for(i=0;i<n;i++)</p><p><b>  { </b></p><p>  for(j=0;j<n-i;j++)</p><p>  if(h[j].dai<h[j

67、+1].dai)</p><p>  k=h[j].dai;h[j].dai=h[j+1].dai;h[j+1].dai=k;</p><p><b>  }</b></p><p>  for(i=0;i<n;i++) </p><p><b>  {</b></p><

68、p>  for(j=0;j<n;j++)</p><p>  if(h[j].wscore==h[i].dai)</p><p>  printf("第%d名 %12d %8s %8d %8d %8d \n",i+1,h[j].mscore,h[j].schoolname,h[j].schoolnum,h[j].score,h[j].mscore);<

69、/p><p><b>  }</b></p><p>  break; //按女團總分輸出</p><p><b>  }</b></p><p>  printf("請選擇 2 繼續(xù),0 跳出\n");</p&g

70、t;<p>  scanf("%d",&sign);</p><p>  }while(sign==2); //循環(huán)執(zhí)行輸出語句</p><p><b>  }</b></p><p>  void inquiry()

71、 //查詢函數(shù)</p><p><b>  {</b></p><p>  int choice;</p><p>  int i,j,k,s;</p><p>  printf("\n*****1:按學校編號查詢\n");</p>

72、;<p>  printf("\n*****2:按項目編號查詢\n");</p><p>  printf("\n\n*****請選擇查詢方式:"); //提供兩種查詢方式</p><p>  scanf("%d",&choice);</p><p>  

73、switch(choice)</p><p><b>  { </b></p><p><b>  case 1:</b></p><p><b>  do</b></p><p><b>  { </b></p><p>  p

74、rintf("要查詢的學校編號:");</p><p>  scanf("%d",&i);</p><p><b>  if(i>n)</b></p><p>  printf("錯誤:這個學校沒有參加此次運動會!\n\n\n");</p><p>

75、;<b>  else</b></p><p><b>  {</b></p><p>  printf("要查詢的項目編號:");</p><p>  scanf("%d",&j);</p><p>  if(j>m+w||j==0)</

76、p><p>  printf("此次運動會沒有這個項目\n\n\n");</p><p>  //學校編號超出范圍,則輸出警告</p><p><b>  else</b></p><p><b>  { </b></p><p>  printf(&quo

77、t;這個項目取前 %d名,該學校的成績?nèi)缦?\n", h[0].c[j-1].top);</p><p>  for(k=0;k<5;k++)</p><p>  if(h[i-1].c[j-1].range[k]!=0)</p><p>  printf("名次:%d\n",h[i-1].c[j-1].range[k]);<

78、;/p><p>  //輸出要查詢學校項目的成績</p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("請選擇 2 繼續(xù) , 0 跳出\n");</p><p>  scanf("%d&q

79、uot;,&s);</p><p>  printf("\n\n\n");</p><p>  }while(s==2); //循環(huán)執(zhí)行輸出語句</p><p>  break; </p><p><b>  case 2

80、:</b></p><p><b>  do</b></p><p><b>  { </b></p><p>  printf("要查詢的項目編號:");</p><p>  scanf("%d",&s);</p><

81、p>  if(s>m+w||s==0)</p><p>  printf("此次運動會不包括這個項目.\n\n\n");</p><p>  //項目編號超出范圍則輸出警告</p><p><b>  else</b></p><p><b>  {</b></

82、p><p>  printf("該項目取前 %d名,取得名次的學校\n",h[0].c[s-1].top);</p><p>  for(i=0; i<n;i++)</p><p>  for(j=0;j<5;j++)</p><p>  if(h[i].c[s-1].range[j]!=0)</p>

83、<p>  printf("學校編號:%d,名次:%d\n",h[i].schoolnum,</p><p>  h[i].c[s-1].range[j]);</p><p>  } //輸出該項目取得名次學校的成績</p><p>  printf("\n\n\n繼續(xù) 2,跳

84、出 0\n");</p><p>  scanf("%d",&i);</p><p>  printf("\n\n\n");</p><p>  }while(i==2);</p><p><b>  break;</b></p><p>

85、<b>  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  { </b></p><p>  int choice;</p><p>  printf("======

86、================歡迎使用======================\n"); printf("\n\n*****************運動會分數(shù)統(tǒng)計系統(tǒng)********************\n");</p><p>  printf("\n\n********************1.輸入信息*************************

87、\n");</p><p>  printf("********************2.輸出信息*************************\n");</p><p>  printf("********************3.查詢信息*************************\n");</p><

88、p>  printf("********************4.退出系統(tǒng)*************************\n\n\n");</p><p>  printf("================================================\n\n");</p><p>  printf("***

89、*****請選擇要實現(xiàn)步驟的編號:\n\n");</p><p>  scanf("%d",&choice);</p><p>  switch(choice)</p><p><b>  { </b></p><p><b>  case 1: </b><

90、;/p><p>  inputinformation();main();</p><p><b>  case 2: </b></p><p>  output();main();</p><p><b>  case 3: </b></p><p>  inquiry();ma

91、in();</p><p><b>  case 4: </b></p><p><b>  exit(0);</b></p><p><b>  default: </b></p><p>  printf("輸入錯誤請重新輸入!");</p>

92、<p><b>  }</b></p><p><b>  }</b></p><p>  第四章 分析和測試</p><p>  4.1:測試數(shù)據(jù)選擇</p><p><b>  學校:11</b></p><p><b> 

93、 代號:1</b></p><p><b>  項目 名次</b></p><p>  1 1</p><p>  2 1</p><p>  3 1</p><p><b>  學校:22</b></p>

94、;<p><b>  代號:2</b></p><p><b>  項目 名次</b></p><p>  1 2 </p><p><b>  2 2</b></p><p><b>  3 2</b>&

95、lt;/p><p><b>  學校:33</b></p><p><b>  代號:3</b></p><p><b>  項目 名次</b></p><p><b>  1 3</b></p><p><b>

96、;  2 3</b></p><p><b>  3 3</b></p><p>  其中項目1、2為男子項目</p><p><b>  項目3為女之項目。</b></p><p>  4.2 測試結(jié)果分析</p><p><b>

97、  圖1 界面</b></p><p><b>  圖 2 輸入信息</b></p><p>  圖 3 按學校編號輸出</p><p>  圖 4 按學校名稱輸出</p><p>  圖 5 按學??偡州敵?lt;/p><p>  圖 6 按男團總分輸出</p>

98、<p>  圖 7 按女團總分輸出</p><p>  圖 9 查詢系統(tǒng)</p><p><b>  總 結(jié)</b></p><p>  在今后的工作、學習中我將認真總結(jié)經(jīng)驗教訓,努力使自己成為一名技術(shù)過硬、工作嚴謹、思維活躍的工程人員,為提高人們的生活質(zhì)量做出更大的貢獻。</p><p>

99、;  本文所述運動會查詢系統(tǒng)特色在于能輸入各個項目的前三名或前五名的成績,能統(tǒng)計各學??偡郑梢园磳W校編號或名稱、學??偡?、男女團體總分排序輸出,可以按學校編號查詢學校某個項目的情況;可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W校,數(shù)據(jù)存入文件并能隨時查詢。</p><p>  當然,這個運動會查詢系統(tǒng)也有很多不足之處,例如不能具體到個體,不能查詢各個學生的成績,存儲結(jié)構(gòu)不太完美,算法也不能說是最完美的。運動會分數(shù)統(tǒng)計

100、系統(tǒng),時間和空間復(fù)雜度都比較復(fù)雜,運動會在調(diào)試的時候出現(xiàn)的問題最多,頭文件就有很多問題,因為用stdio.h又有stdlib.b,所以問題比較多,編程過程中,文件頭不能混合使用,運動會涉及到文件的輸入輸出,這里也碰到很多問題,首先是文件不能正常的讀出,以及一些格式的錯誤,最后也得到解決。</p><p><b>  心得體會</b></p><p>  因為在理論學習

101、中沒有好好的掌握,現(xiàn)在要獨立完成一個較復(fù)雜的程序編寫,確實有困難。只有通過和同學一起努力,借助于網(wǎng)上資料,圖書館資料,才實現(xiàn)了這次課程設(shè)計。</p><p>  通過這次課程設(shè)計,我明白了很多,知識是通過自己積累的來的,即使別人把程序編好,可是自己肚子里沒知識,在研究別人的程序時候很吃力,問問這個同學,問問那個同學,感覺到好別人還是有一定差距的,誰然都是借鑒別人的程序,可有的同學研究之后,能夠改出自己的程序,這就

102、是水平,自己不肯動手動腦,感覺即使弄出來一個也不應(yīng)比別人的好,這次課程設(shè)計暴露出一個最大的問題——不肯思考。</p><p>  問題本身并不是很難,難的事如何克服為難心理,只要你下定決心一定能行,另外,本次課程設(shè)計還暴露出另外一個問題,那就是不能很好地利用現(xiàn)有的資源。比如說,當問題出現(xiàn)以后第一時間應(yīng)該去的是學校的圖書館,那里面有我們需要的一切資料,應(yīng)該學找去查找相關(guān)論題,看看有沒有別人做過類似的題目,不然自己最

103、后做出來的可能別人已經(jīng)做過,會造成很大的損失?,F(xiàn)在是二十一世紀,是屬于我們計算機的,作為一名計算機系的學生會有很大的機遇和挑戰(zhàn),所以今后我必需扎實基礎(chǔ)理論、認真思考,而且要踐行我的承諾,一步一個腳印的走下去,才可以達到我預(yù)期的彼岸!學校圖書館是個好地方,以后要好好的利用,只要肯去攀登!只要把自己逼上絕路,自己才會去思考,才會成功!!</p><p><b>  參考文獻</b></p&

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論