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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告</p><p> 學(xué)生姓名:學(xué) 號(hào):</p><p> 學(xué) 院:</p><p> 班 級(jí):</p><p> 題 目:運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)</p><p><b>  目 錄</b></p><p><b>

2、  目 錄I</b></p><p><b>  一、選題背景1</b></p><p><b>  1.1 大背景1</b></p><p>  1.2課程設(shè)計(jì)目的1</p><p><b>  二、算法設(shè)計(jì)2</b></p><

3、;p>  2.1 算法思想2</p><p><b>  2.2算法分析2</b></p><p>  三、程序及功能說(shuō)明2</p><p><b>  3.1輸入2</b></p><p><b>  3.2排序3</b></p><p&g

4、t;<b>  3.3查詢5</b></p><p><b>  3.4修改7</b></p><p><b>  四、結(jié)果分析7</b></p><p><b>  五、總 結(jié)16</b></p><p>  六、課程設(shè)計(jì)心得體會(huì)17<

5、/p><p><b>  參考文獻(xiàn)18</b></p><p><b>  源程序19</b></p><p><b>  一、選題背景</b></p><p><b>  1.1 大背景</b></p><p>  《數(shù)據(jù)結(jié)構(gòu)》是

6、計(jì)算機(jī)專業(yè)一門重要的專業(yè)技術(shù)基礎(chǔ)課程。本課程較系統(tǒng)地介紹了軟件設(shè)計(jì)中常用的數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)的存儲(chǔ)結(jié)構(gòu)和實(shí)現(xiàn)算法,介紹了常用的多種查找和排序技術(shù)。本課程將為整個(gè)專業(yè)的學(xué)習(xí)以及軟件設(shè)計(jì)水平的提高打下良好的基礎(chǔ)。</p><p><b>  1.2課程設(shè)計(jì)目的</b></p><p>  通過(guò)本課程設(shè)計(jì),掌握C編程語(yǔ)言的使用;提高學(xué)生的計(jì)算機(jī)的使用技能和解決實(shí)際問(wèn)題的能力,

7、使學(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)和計(jì)算機(jī)編程產(chǎn)生濃厚的興趣,為以后學(xué)習(xí)、科研、工作打下扎實(shí)的基礎(chǔ)。</p><p><b>  二、算法設(shè)計(jì)</b></p><p><b>  2.1 算法思想</b></p><p><b>  算法思想:</b></p><p>  圖2—1 算法思想&

8、lt;/p><p><b>  2.2算法分析</b></p><p><b>  算法分析:</b></p><p>  定義兩個(gè)結(jié)構(gòu)體Sch 和 Sub分別用來(lái)存儲(chǔ)學(xué)校信息(名,編號(hào))和項(xiàng)目信息(名,編號(hào),相應(yīng)名次的成績(jī),學(xué)校編號(hào)),積分加和,用冒泡法排序,把排序,學(xué)校名,項(xiàng)目名存入txt文本;查詢時(shí)打開相應(yīng)文本,根據(jù)條件

9、輸出數(shù)據(jù)。</p><p><b>  數(shù)組存儲(chǔ)。</b></p><p><b>  三、程序及功能說(shuō)明</b></p><p><b>  3.1輸入</b></p><p><b>  思想</b></p><p>  voi

10、d InserSub(Sub sub[],int m,int w)</p><p>  {//輸入成績(jī) sub[] 為項(xiàng)目數(shù)組 m 男子項(xiàng)目數(shù) w 女子項(xiàng)目數(shù)</p><p>  int i,j,k;</p><p><b>  FILE *fp;</b></p><p>  for(i=0;i<m+w;i++)&

11、lt;/p><p><b>  {</b></p><p>  printf("輸入項(xiàng)目名\n");</p><p>  scanf("%s",sub[i].name);</p><p>  printf("輸入取前k名\n");</p><p&

12、gt;  scanf("%d",&k);</p><p>  sub[i].flag=k;</p><p>  printf("輸入成績(jī)%d個(gè)\n",k);</p><p>  for(j=0;j<k;j++)</p><p>  scanf("%d",&(su

13、b[i].score[j]));</p><p>  printf("輸入學(xué)校編號(hào)%d個(gè)\n",k);</p><p>  for(j=0;j<k;j++)</p><p>  scanf("%d",&(sub[i].sch[j]));</p><p>  sub[i].num=i+1;&

14、lt;/p><p><b>  }</b></p><p>  fp=fopen("sub.txt","w");</p><p>  for(i=0;i<m+w;i++)//項(xiàng)目存儲(chǔ)</p><p>  fwrite(&sub[i],sizeof(Sub),1,fp);&

15、lt;/p><p>  fclose(fp);</p><p><b>  }</b></p><p>  void InserSch(Sch sch[],int n)</p><p>  {//學(xué)校 sch[] 學(xué)校數(shù)組 n 學(xué)校個(gè)數(shù)</p><p><b>  int z;</b&

16、gt;</p><p><b>  int i;</b></p><p>  FILE *fp;;</p><p>  for(z=0;z<n;z++)</p><p><b>  {//輸入學(xué)校名</b></p><p>  printf("輸入學(xué)校名\n&

17、quot;);</p><p>  scanf("%s",sch[z].name);</p><p>  sch[z].num=z+1;</p><p><b>  }</b></p><p>  fp=fopen("sch.txt","w");</p&g

18、t;<p>  for(i=0;i<n;i++)//安項(xiàng)目存儲(chǔ)</p><p>  fwrite(&sch[i],sizeof(Sch),1,fp);</p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  3.2排序</

19、b></p><p><b>  思想</b></p><p>  void Sort1(int scorm[2][40],int n)</p><p><b>  {//排序</b></p><p>  int i,j,k1,k2;</p><p><b>

20、  FILE *fp;</b></p><p>  for(j=0;j<n-1;j++)</p><p>  {//男子排序 冒泡法 降序</p><p>  for(i=j;i<n;i++)</p><p><b>  {</b></p><p>  if(scorm[0

21、][j]<scorm[0][i])</p><p><b>  {</b></p><p>  k1=scorm[0][j];</p><p>  k2=scorm[1][j];</p><p>  scorm[0][j]=scorm[0][i];</p><p>  scorm[1][j]

22、=scorm[1][i];</p><p>  scorm[0][i]=k1;</p><p>  scorm[1][i]=k2;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&l

23、t;/p><p>  for(j=n;j<n+n-1;j++)</p><p>  {//冒泡法排序 降序 女子</p><p>  for(i=j;i<n+n;i++)</p><p>  if(scorm[0][i]<scorm[0][i+1])</p><p><b>  {</b&

24、gt;</p><p>  k1=scorm[0][j];</p><p>  k2=scorm[1][j];</p><p>  scorm[0][j]=scorm[0][i];</p><p>  scorm[1][j]=scorm[1][i];</p><p>  scorm[0][i]=k1;</p>

25、;<p>  scorm[1][i]=k2;</p><p><b>  }</b></p><p><b>  }</b></p><p>  fp=fopen("fm.txt","w");</p><p>  for(i=0;i<2;i

26、++)//把男女名次存入文件</p><p>  for(j=0;j<n+n;j++)</p><p>  fwrite(&scorm[i][j],sizeof(int),1,fp);</p><p>  fclose(fp);</p><p>  Sort(scorm,n);</p><p><b

27、>  }</b></p><p><b>  3.3查詢</b></p><p><b>  思想</b></p><p>  void Serch()</p><p><b>  {</b></p><p><b>  FI

28、LE *fp;</b></p><p>  int i,j,M,N,W,k;</p><p>  Sch sch[20];</p><p>  Sub sub[20];</p><p>  int zs[2][20],scorm[2][40];</p><p>  fp=fopen("n.txt&

29、quot;,"r");</p><p>  fread(&N,sizeof(int),1,fp);</p><p>  fclose(fp);//學(xué)校個(gè)數(shù)</p><p>  fp=fopen("m.txt","r");</p><p>  fread(&M,size

30、of(int),1,fp);</p><p>  fclose(fp);//男子項(xiàng)目個(gè)數(shù)</p><p>  fp=fopen("w.txt","r");</p><p>  fread(&W,sizeof(int),1,fp);</p><p>  fclose(fp);//女子項(xiàng)目個(gè)數(shù)<

31、;/p><p>  fp=fopen("sch.txt","r");</p><p>  for(i=0;i<N;i++)</p><p>  {//打開學(xué)校文件并讀取</p><p>  fread(&sch[i],sizeof(Sch),1,fp);</p><p>

32、;<b>  }</b></p><p>  fclose(fp);</p><p>  fp=fopen("sub.txt","r");</p><p>  for(i=0;i<M+W;i++)</p><p>  {//打開項(xiàng)目文件并讀取</p><p

33、>  fread(&sub[i],sizeof(Sub),1,fp);</p><p><b>  }</b></p><p>  fclose(fp);</p><p>  fp=fopen("zs.txt","r");</p><p>  for(i=0;i<

34、;2;i++)</p><p>  {//打開總分排名文件并讀取</p><p>  for(j=0;j<N;j++)</p><p><b>  {</b></p><p>  fread(&zs[i][j],sizeof(int),1,fp);</p><p><b>

35、  }</b></p><p><b>  }</b></p><p>  fclose(fp);</p><p>  fp=fopen("fm.txt","r");</p><p>  for(i=0;i<2;i++)</p><p> 

36、 {//打男女成績(jī)排名開文件并讀取</p><p>  for(j=0;j<N+N;j++)</p><p><b>  {</b></p><p>  fread(&scorm[i][j],sizeof(int),1,fp);</p><p><b>  }</b></p>

37、;<p><b>  }</b></p><p>  fclose(fp);</p><p><b>  do</b></p><p><b>  {</b></p><p><b>  Index1();</b></p>&l

38、t;p>  printf("選擇:");</p><p>  scanf("%d",&k);</p><p><b>  switch(k)</b></p><p><b>  {</b></p><p>  case 1:Search0(sub

39、,sch,M,W,N);break;//按項(xiàng)目名稱查詢</p><p>  case 2:Search1(sub,sch,M,W,N);break;//按項(xiàng)目編號(hào)查詢</p><p>  case 3:Search2(sub,sch,M,W,N);break;//按學(xué)校名查詢項(xiàng)</p><p>  case 4:Search3(sub,sch,M,W,N);brea

40、k;//按學(xué)校編號(hào)查詢項(xiàng)</p><p>  case 5:if(M!=0)</p><p>  Search4(sch,scorm,N);//按男生成績(jī)查詢</p><p><b>  else</b></p><p>  printf("無(wú)男子成績(jī)\n");</p><p>

41、;<b>  break;</b></p><p>  case 6:if(W!=0)</p><p>  Search5(sch,scorm,N);//按女生成績(jī)查詢</p><p><b>  else</b></p><p>  printf("無(wú)女子成績(jī)\n");<

42、/p><p><b>  break;</b></p><p>  case 7:Search6(sch,zs,N);break;//按總成績(jī)查詢</p><p>  case 8:Search7(sch,zs,N);break;//查詢總成績(jī)</p><p>  case 9:XiuG(sub,M,W,N);Serch()

43、;break;//修改 遞歸調(diào)用</p><p><b>  }</b></p><p>  }while(k<10&&k>0);</p><p><b>  }</b></p><p>  void Search0(Sub sub[20],Sch sch[20],int

44、 M,int W,int N)</p><p>  {//按項(xiàng)目名稱查詢</p><p>  int i,j,k1;</p><p>  char nam[10];</p><p>  printf("輸入項(xiàng)目名稱:");</p><p>  scanf("%s",nam);&l

45、t;/p><p>  for(i=0;i<M+W;i++)</p><p><b>  {</b></p><p>  if((strcm(nam,sub[i].name))==0)</p><p><b>  {</b></p><p>  k1=sub[i].num;b

46、reak;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(i==M+W)</p><p>  printf("項(xiàng)目不存在\n");</p><p><b>  else</b>

47、;</p><p><b>  {</b></p><p>  printf("項(xiàng)目名:%s\n學(xué)校排名:",nam);</p><p>  for(j=0;j<(sub[k1-1].flag);j++)</p><p><b>  {</b></p><

48、;p>  printf("%-5s",sch[sub[k1-1].sch[j]-1].name);</p><p><b>  }</b></p><p>  printf("\n");</p><p><b>  }</b></p><p><

49、;b>  }</b></p><p>  void Search7(Sch sch[20],int zs[2][20],int N)</p><p><b>  {//查詢總成績(jī)</b></p><p><b>  int i,k1;</b></p><p>  printf(&q

50、uot;輸入學(xué)校編號(hào):");</p><p>  scanf("%d",&k1);</p><p>  if(k1>N||k1<1)</p><p>  printf("所查學(xué)校不存在\n");</p><p><b>  else</b></p

51、><p><b>  {</b></p><p>  for(i=0;i<N;i++)</p><p>  if(zs[1][i]==k1)</p><p>  printf("學(xué)校名:%-5s \n總分:%d\n",sch[k1-1].name,zs[0][i]);</p><

52、p><b>  }</b></p><p><b>  }</b></p><p>  void Search6(Sch sch[20],int zs[2][20],int N)</p><p><b>  {//按總成績(jī)查詢</b></p><p><b> 

53、 int i,j;</b></p><p>  printf("學(xué)校按總成績(jī)排名:\n");</p><p>  for(i=0;i<N;i++)</p><p>  for(j=0;j<N;j++)</p><p>  if(sch[j].num==zs[1][i])</p><

54、;p>  printf("第%d名:%s ",i+1,sch[j].name);</p><p>  printf("\n");</p><p><b>  }</b></p><p>  void Search4(Sch sch[20],int scorm[2][40],int N)</p

55、><p>  {//按男生成績(jī)查詢</p><p><b>  int i,j;</b></p><p>  printf("學(xué)校按男子成績(jī)排名:\n");</p><p>  for(i=0;i<N;i++)</p><p>  for(j=0;j<N;j++)<

56、;/p><p>  if(sch[j].num==scorm[1][i])</p><p>  printf("第%d名:%-5s ",i+1,sch[j].name);</p><p>  printf("\n");</p><p><b>  }</b></p>&

57、lt;p><b>  四、結(jié)果分析</b></p><p><b>  圖4-1-1 輸入</b></p><p>  圖4-1-2 輸入男子項(xiàng)目情況</p><p>  圖4-1-3 輸入女子項(xiàng)目情況</p><p>  圖4-1-3 輸入學(xué)校名</p><p>  

58、圖4-2 進(jìn)入查詢板塊</p><p>  圖4-2-1 按項(xiàng)目名正確查詢</p><p>  圖4-2-2 按項(xiàng)目名錯(cuò)誤查詢</p><p>  圖4-2-3 按項(xiàng)目編號(hào)正確查詢</p><p>  圖4-2-4 按項(xiàng)目編號(hào)錯(cuò)誤查詢</p><p>  4-2-5 按學(xué)校名正確查詢</p><p&

59、gt;  4-2-6按學(xué)校名查詢 項(xiàng)目編號(hào)不正確</p><p>  4-2-7按學(xué)校名查詢 校名錯(cuò)誤</p><p>  4-2-8按學(xué)校編號(hào)查詢 </p><p>  4-2-9按學(xué)校編號(hào)查詢 校編號(hào)錯(cuò)誤</p><p>  4-2-10按學(xué)校編號(hào)查詢 項(xiàng)目編號(hào)錯(cuò)誤</p><p>  4-2-11按男子成績(jī)排名&

60、lt;/p><p>  4-2-12按女子成績(jī)排名</p><p>  4-2-13按總成績(jī)排名</p><p>  4-2-14學(xué)校A的總積分</p><p>  4-2-15學(xué)校B的總積分</p><p>  4-2-16學(xué)校C的總積分</p><p>  4-2-17學(xué)??偡e分查找錯(cuò)誤<

61、/p><p>  4-2-18未修改前項(xiàng)目3的排名情況</p><p>  4-3-1修改項(xiàng)目3</p><p>  4-3-2 修改后項(xiàng)目3的排名情況</p><p>  4-3-3 修改后按女子成績(jī)排名</p><p>  4-3-4 修改后按總成績(jī)排名</p><p>  4-3-5 修改后學(xué)

62、校A的成績(jī)</p><p>  圖4-3-6 修改失敗</p><p><b>  五、總 結(jié)</b></p><p>  經(jīng)過(guò)幾個(gè)星期的設(shè)計(jì), “運(yùn)動(dòng)會(huì)統(tǒng)計(jì)分?jǐn)?shù)”的運(yùn)行程序終于設(shè)計(jì)出來(lái),此程序是關(guān)于數(shù)據(jù)庫(kù)和現(xiàn)實(shí)結(jié)合起來(lái)的算法,里面的一些功能可以很方便統(tǒng)計(jì)人員和計(jì)算人員的計(jì)算。大大縮短了統(tǒng)計(jì)結(jié)果的時(shí)間,提高了工作效率。程序里面使用了

63、輸入法、存儲(chǔ)法、冒泡法、修改法等一些基本方法,運(yùn)用了C編程語(yǔ)言,幾個(gè)模塊結(jié)合在了一起,使程序運(yùn)行起來(lái)比較簡(jiǎn)單,快捷。程序運(yùn)行起來(lái),可出現(xiàn)你想要的結(jié)果,并時(shí)時(shí)提醒你下一步應(yīng)作什么,可以很方便得出你想要的結(jié)果。再編程的這段時(shí)間里,我體會(huì)到了很多,讓我更加了解了一些編程語(yǔ)言的性質(zhì)、功能。</p><p>  六、課程設(shè)計(jì)心得體會(huì)</p><p>  在這次的設(shè)計(jì)過(guò)程中,我學(xué)到的不僅是知識(shí),我還認(rèn)

64、識(shí)到許多事情。這次設(shè)計(jì)使我的編程水平提高了一大步,使我充分的認(rèn)識(shí)到合作的可貴。由于這次設(shè)計(jì)涉及到文件,我的學(xué)到了不少文件操作的知識(shí),對(duì)文件的操作有了進(jìn)一步的了解。這次設(shè)計(jì)對(duì)我的綜合能力是一次很好的鍛煉,但是我必須承認(rèn)自己的能力和知識(shí)還很膚淺。所以今后我的學(xué)習(xí)道路還是很漫長(zhǎng)的。最后,在這里我要衷心的感謝我們的指導(dǎo)老師的悉心指導(dǎo)和熱心幫助。由于我水平有限,不足之處,請(qǐng)老師批評(píng)指正,我會(huì)在以后的制作中不斷改進(jìn),不斷完善。</p>

65、<p><b>  參考文獻(xiàn)</b></p><p>  [1] 曲朝陽(yáng),郭曉麗,王曉慧,孫鴻飛.數(shù)據(jù)結(jié)構(gòu).北京:中國(guó)電力出版社,2007.</p><p>  [2]譚浩強(qiáng).C程序設(shè)計(jì).北京:清華大學(xué)出版社,2005</p><p><b>  源程序</b></p><p>  #i

66、nclude<stdio.h></p><p>  #include<stdlib.h></p><p>  #include<limits.h></p><p>  typedef struct </p><p>  {//項(xiàng)目取前5名結(jié)構(gòu)體</p><p>  char name

67、[10];//項(xiàng)目名</p><p>  int score[5];</p><p>  int sch[5];//學(xué)校編號(hào)</p><p>  int num;//項(xiàng)目編號(hào)</p><p>  int flag;//取前幾名的標(biāo)識(shí)</p><p><b>  }Sub;</b></p>

68、;<p>  typedef struct</p><p><b>  {//學(xué)校名結(jié)構(gòu)體</b></p><p>  char name[12];//學(xué)校名</p><p>  int num;//學(xué)校編號(hào)</p><p><b>  }Sch;</b></p><

69、;p>  void InserSub(Sub sub[],int m,int w)</p><p><b>  {//輸入成績(jī)</b></p><p>  int i,j,k;</p><p><b>  FILE *fp;</b></p><p>  for(i=0;i<m+w;i++

70、)</p><p>  { if(i<m)</p><p>  printf("輸入男子");</p><p><b>  else</b></p><p>  printf("輸入女子");</p><p>  printf("項(xiàng)目名\

71、n");</p><p>  scanf("%s",sub[i].name);</p><p>  printf("輸入取前k名\n");</p><p>  scanf("%d",&k);</p><p>  sub[i].flag=k;</p>&

72、lt;p>  printf("輸入成績(jī)%d個(gè)\n",k);</p><p>  for(j=0;j<k;j++)</p><p>  scanf("%d",&(sub[i].score[j]));</p><p>  printf("輸入學(xué)校編號(hào)%d個(gè)\n",k);</p>

73、<p>  for(j=0;j<k;j++)</p><p>  scanf("%d",&(sub[i].sch[j]));</p><p>  sub[i].num=i+1;</p><p><b>  }</b></p><p>  fp=fopen("sub.

74、txt","w");</p><p>  for(i=0;i<m+w;i++)//項(xiàng)目存儲(chǔ)</p><p>  fwrite(&sub[i],sizeof(Sub),1,fp);</p><p>  fclose(fp);</p><p><b>  }</b></p&g

75、t;<p>  void InserSch(Sch sch[],int n)</p><p><b>  {//學(xué)校</b></p><p><b>  int z;</b></p><p><b>  int i;</b></p><p>  FILE *fp;

76、;</p><p>  for(z=0;z<n;z++)</p><p><b>  {//輸入學(xué)校名</b></p><p>  printf("輸入學(xué)校名\n");</p><p>  scanf("%s",sch[z].name);</p><p&g

77、t;  sch[z].num=z+1;</p><p><b>  }</b></p><p>  fp=fopen("sch.txt","w");</p><p>  for(i=0;i<n;i++)//安項(xiàng)目存儲(chǔ)</p><p>  fwrite(&sch[i],

78、sizeof(Sch),1,fp);</p><p>  fclose(fp);</p><p><b>  }</b></p><p>  void Sort(int scorm[2][40],int n)</p><p><b>  {//總和排序</b></p><p>

79、;  int zs[2][20];</p><p>  int i,j,k1,k2;</p><p><b>  FILE *fp;</b></p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  zs[0][i

80、]=0;</p><p>  zs[1][i]=i+1;</p><p><b>  }</b></p><p>  for(i=0;i<n;i++)</p><p><b>  {//初始化數(shù)組</b></p><p>  for(j=0;j<n+n;j++)&

81、lt;/p><p>  if(zs[1][i]==scorm[1][j])</p><p><b>  {</b></p><p>  zs[0][i]+=scorm[0][j];</p><p><b>  }</b></p><p><b>  }</b>

82、;</p><p>  for(i=0;i<n-1;i++)</p><p>  {//冒泡法排序 降序</p><p>  for(j=i;j<n;j++)</p><p>  if(zs[0][i]<zs[0][j])</p><p><b>  {</b></p>

83、;<p>  k1=zs[0][i];</p><p>  k2=zs[1][i];</p><p>  zs[0][i]=zs[0][j];</p><p>  zs[1][i]=zs[1][j];</p><p>  zs[0][j]=k1;</p><p>  zs[1][j]=k2;</p&

84、gt;<p><b>  }</b></p><p><b>  }</b></p><p>  fp=fopen("zs.txt","w");</p><p>  for(i=0;i<2;i++)//把總成績(jī)名次存入文件</p><p>

85、  for(j=0;j<n;j++)</p><p>  fwrite(&zs[i][j],sizeof(int),1,fp);</p><p>  fclose(fp);</p><p><b>  }</b></p><p>  void Sort1(int scorm[2][40],int n)&l

86、t;/p><p><b>  {//排序</b></p><p>  int i,j,k1,k2;</p><p><b>  FILE *fp;</b></p><p>  for(j=0;j<n-1;j++)</p><p>  {//男子排序 冒泡法 降序</p

87、><p>  for(i=j;i<n;i++)</p><p><b>  {</b></p><p>  if(scorm[0][j]<scorm[0][i])</p><p><b>  {</b></p><p>  k1=scorm[0][j];</p&

88、gt;<p>  k2=scorm[1][j];</p><p>  scorm[0][j]=scorm[0][i];</p><p>  scorm[1][j]=scorm[1][i];</p><p>  scorm[0][i]=k1;</p><p>  scorm[1][i]=k2;</p><p&g

89、t;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for(j=n;j<n+n-1;j++)</p><p>  {//冒泡法排序 降序 女子</p><p>  for(

90、i=j;i<n+n;i++)</p><p>  if(scorm[0][i]<scorm[0][i+1])</p><p><b>  {</b></p><p>  k1=scorm[0][j];</p><p>  k2=scorm[1][j];</p><p>  scorm[

91、0][j]=scorm[0][i];</p><p>  scorm[1][j]=scorm[1][i];</p><p>  scorm[0][i]=k1;</p><p>  scorm[1][i]=k2;</p><p><b>  }</b></p><p><b>  }<

92、;/b></p><p>  fp=fopen("fm.txt","w");</p><p>  for(i=0;i<2;i++)//把男女名次存入文件</p><p>  for(j=0;j<n+n;j++)</p><p>  fwrite(&scorm[i][j],siz

93、eof(int),1,fp);</p><p>  fclose(fp);</p><p>  Sort(scorm,n);</p><p><b>  }</b></p><p>  void ScoreM(Sub sub[],int m,int n,int w,int scorm[2][40])</p>

94、<p>  {//男子成績(jī)總和 sub, M, N, W, scorm</p><p>  int i,j,k,z;</p><p>  for(j=0;j<n;j++)//遍歷學(xué)校</p><p><b>  {</b></p><p>  for(i=0;i<m;i

95、++)//遍歷男子項(xiàng)目</p><p><b>  {</b></p><p>  for(z=0;z<(sub[i].flag);z++)//遍歷名次</p><p><b>  {</b></p><p>  if(sub[i].flag==5)</p><p> 

96、 k=z+1;//取前5和前3</p><p><b>  else</b></p><p><b>  k=z+2;</b></p><p>  if((sub[i].sch[z])==scorm[1][j])</p><p><b>  {</b></p>&

97、lt;p><b>  switch(k)</b></p><p>  { //根據(jù)學(xué)校加分到第2行0~n-1列</p><p>  case 1:scorm[0][j]+=7;break;</p><p>  case 2:scorm[0][j]+=5;break;</p><p>  case 3:scorm[0

98、][j]+=3;break;</p><p>  case 4:scorm[0][j]+=2;break;</p><p>  case 5:scorm[0][j]+=1;break;</p><p><b>  }</b></p><p><b>  }</b></p><p&

99、gt;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for(j=n;j<n+n;j++)//遍歷學(xué)校</p><p><b>  {</b></p><

100、p>  for(i=m;i<m+w;i++)//遍歷女子項(xiàng)目</p><p><b>  {</b></p><p>  for(z=0;z<(sub[i].flag);z++)//遍歷名次</p><p>  {if(sub[i].flag==5)</p><p>  k=z+1;//取前5和前3&

101、lt;/p><p><b>  else</b></p><p><b>  k=z+2;</b></p><p>  if((sub[i].sch[z])==scorm[1][j])</p><p><b>  {</b></p><p>  switch

102、(k) </p><p>  {//根據(jù)學(xué)校加分到第2行n~2n-1列</p><p>  case 1:scorm[0][j]+=7;break;</p><p>  case 2:scorm[0][j]+=5;break;</p><p>  case 3:scorm[0][j]+=3;break;</p><p>

103、;  case 4:scorm[0][j]+=2;break;</p><p>  case 5:scorm[0][j]+=1;break;</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  }</b></p&g

104、t;<p><b>  }</b></p><p><b>  }</b></p><p>  Sort1(scorm,n);</p><p><b>  }</b></p><p>  void XiuG(Sub sub[20],int M,int W,int

105、N)</p><p><b>  {//修改項(xiàng)目名次</b></p><p>  int i,j,r,k;</p><p><b>  FILE *fp;</b></p><p>  int scorm[2][40];</p><p>  for(i=0;i<N+N;i

106、++)</p><p><b>  {//初始化數(shù)組</b></p><p>  scorm[0][i]=0;</p><p><b>  if(i<N)</b></p><p>  scorm[1][i]=i+1;</p><p><b>  else<

107、;/b></p><p>  scorm[1][i]=i+1-N;</p><p><b>  }</b></p><p>  printf("輸入所要修改項(xiàng)目的編號(hào):");</p><p>  scanf("%d",&r);</p><p>

108、  if(r-1<M+W)</p><p><b>  {</b></p><p><b>  k=r-1;</b></p><p><b>  if(k<M)</b></p><p>  printf("修改項(xiàng)目為男子項(xiàng)目\n");</p

109、><p><b>  else</b></p><p>  printf("修改項(xiàng)目為女子項(xiàng)目\n");</p><p>  printf("輸入成績(jī)%d個(gè)\n",sub[k].flag);</p><p>  for(j=0;j<sub[k].flag;j++)</p&g

110、t;<p>  scanf("%d",&(sub[k].score[j]));</p><p>  printf("輸入學(xué)校編號(hào)%d個(gè)\n",sub[k].flag);</p><p>  for(j=0;j<sub[k].flag;j++)</p><p>  scanf("%d&quo

111、t;,&(sub[k].sch[j]));</p><p>  fp=fopen("sub.txt","w");</p><p>  for(i=0;i<M+W;i++)//項(xiàng)目存儲(chǔ)</p><p>  fwrite(&sub[i],sizeof(Sub),1,fp);</p><p&

112、gt;  fclose(fp);</p><p>  ScoreM(sub,M,N,W,scorm);</p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("所修改項(xiàng)目不存在\n");</p>&l

113、t;p><b>  }</b></p><p>  int strcm(char *s1,char *s2)</p><p><b>  {//串的比較</b></p><p>  int i,k,d,leng=0,length=0;</p><p>  for(i=0;s1[i]!='

114、;\0';i++)</p><p>  leng++;//確定串長(zhǎng)</p><p>  for(i=0;s2[i]!='\0';i++)</p><p><b>  length++;</b></p><p>  k=leng>length ?length:leng;</p>

115、<p>  for(i=0;i<k;i++)</p><p>  {//前k個(gè)是否相同</p><p>  if(*(s1+i)>*(s2+i))</p><p><b>  {</b></p><p><b>  d=1;</b></p><p>&l

116、t;b>  break;</b></p><p><b>  }</b></p><p>  if(*(s1+i)<*(s2+i))</p><p><b>  {</b></p><p><b>  d=-1;</b></p><p

117、><b>  break;</b></p><p><b>  }</b></p><p>  if(*(s1+i)==*(s2+i))</p><p><b>  d=0;</b></p><p><b>  }</b></p>&l

118、t;p><b>  if(i==k)</b></p><p><b>  {//判斷d的值</b></p><p>  if(length==leng)d=0;</p><p>  if(length>leng)d=-1;</p><p>  if(length<leng)d=1;

119、</p><p><b>  }</b></p><p><b>  return d;</b></p><p><b>  }</b></p><p>  void Search0(Sub sub[20],Sch sch[20],int M,int W,int N)</

120、p><p>  {//按項(xiàng)目名稱查詢</p><p>  int i,j,k1;</p><p>  char nam[10];</p><p>  printf("輸入項(xiàng)目名稱:");</p><p>  scanf("%s",nam);</p><p> 

121、 for(i=0;i<M+W;i++)</p><p><b>  {</b></p><p>  if((strcm(nam,sub[i].name))==0)</p><p><b>  {</b></p><p>  k1=sub[i].num;</p><p>

122、<b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(i==M+W)</p><p>  printf("項(xiàng)目不存在\n");</p><p>&l

123、t;b>  else</b></p><p><b>  {</b></p><p>  printf("項(xiàng)目名:%s\n學(xué)校排名:",nam);</p><p>  for(j=0;j<(sub[k1-1].flag);j++)</p><p><b>  {<

124、;/b></p><p>  printf("%-5s",sch[sub[k1-1].sch[j]-1].name);</p><p><b>  }</b></p><p>  printf("\n");</p><p><b>  }</b>&l

125、t;/p><p><b>  }</b></p><p>  void Search1(Sub sub[20],Sch sch[20],int M,int W,int N)</p><p>  {//按項(xiàng)目編號(hào)查詢</p><p>  int i,j,k;</p><p>  printf("

126、;輸入項(xiàng)目編號(hào):");</p><p>  scanf("%d",&i);</p><p>  if(i-1<M+W)</p><p><b>  {</b></p><p>  printf("項(xiàng)目名:%s\n學(xué)校排名:",sub[i-1].name);&

127、lt;/p><p>  for(j=0;j<(sub[i-1].flag);j++)</p><p><b>  {</b></p><p>  k=sub[i-1].sch[j];</p><p>  printf("%-5s ",sch[k-1].name);</p><p&

128、gt;<b>  }</b></p><p>  printf("\n");</p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("項(xiàng)目不存在\n");</p>

129、;<p><b>  }</b></p><p>  void Search2(Sub sub[20],Sch sch[20],int M,int W,int N)</p><p>  {//按學(xué)校名查詢項(xiàng)</p><p>  int i,j,k1;</p><p>  char nam[10];</

130、p><p>  printf("輸入學(xué)校名稱:");</p><p>  scanf("%s",nam);</p><p>  for(i=0;i<N;i++)</p><p><b>  {//找學(xué)校的編號(hào)</b></p><p>  if((strcm

131、(nam,sch[i].name))==0)</p><p><b>  {</b></p><p>  k1=sch[i].num;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b&

132、gt;  }</b></p><p><b>  if(i==N)</b></p><p>  printf("所查學(xué)校不存在\n");</p><p><b>  else</b></p><p><b>  {</b></p>

133、<p>  printf("輸入項(xiàng)目編號(hào):");</p><p>  scanf("%d",&i);</p><p>  if(i-1<M+W)</p><p><b>  {</b></p><p>  printf("項(xiàng)目名:%-5s\n學(xué)校:

134、%-5s\n成績(jī)名次:",sub[i-1].name,nam);</p><p>  for(j=0;j<(sub[i-1].flag);j++)</p><p><b>  {</b></p><p>  if(sub[i-1].sch[j]==sch[k1-1].num)</p><p>  prin

135、tf("%2d",j+1);</p><p><b>  }</b></p><p>  printf("\n");</p><p><b>  }</b></p><p><b>  else</b></p><p&

136、gt;  printf("所查項(xiàng)不存在\n");</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Search3(Sub sub[20],Sch sch[20],int M,int W,int N)</p><p> 

137、 {//按學(xué)校編號(hào)查詢項(xiàng)</p><p>  int i,j,k1;</p><p>  printf("輸入學(xué)校編號(hào):");</p><p>  scanf("%d",&k1);</p><p><b>  if(k1>N)</b></p><p

138、>  printf("所查學(xué)校不存在\n");</p><p><b>  else</b></p><p><b>  {</b></p><p>  printf("輸入項(xiàng)目編號(hào):");</p><p>  scanf("%d",

139、&i);</p><p>  if(i<=M+W)</p><p><b>  {</b></p><p>  printf("項(xiàng)目名:%-5s\n學(xué)校:%-5s\n成績(jī)名次:",sub[i-1].name,sch[k1-1].name);</p><p>  for(j=0;j<

140、(sub[i-1].flag);j++)</p><p><b>  {</b></p><p>  if(sub[i-1].sch[j]==k1)</p><p>  printf("%2d",j+1);</p><p><b>  }</b></p><p

141、>  printf("\n");</p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("所查項(xiàng)不存在\n");</p><p><b>  }</b></p&

142、gt;<p><b>  }</b></p><p>  void Search4(Sch sch[20],int scorm[2][40],int N)</p><p>  {//按男生成績(jī)查詢</p><p><b>  int i,j;</b></p><p>  printf(

143、"學(xué)校按男子成績(jī)排名:\n");</p><p>  for(i=0;i<N;i++)</p><p>  for(j=0;j<N;j++)</p><p>  if(sch[j].num==scorm[1][i])</p><p>  printf("第%d名:%-5s ",i+1,sc

144、h[j].name);</p><p>  printf("\n");</p><p><b>  }</b></p><p>  void Search5(Sch sch[20],int scorm[2][40],int N)</p><p>  {//按女生成績(jī)查詢</p><

145、p><b>  int i,j;</b></p><p>  printf("學(xué)校按女子成績(jī)排名:\n");</p><p>  for(i=N;i<N+N;i++)</p><p>  for(j=0;j<N;j++)</p><p>  if(sch[j].num==scorm[

146、1][i])</p><p>  printf("第%d名:%-5s ",i+1-N,sch[j].name);</p><p>  printf("\n");</p><p><b>  }</b></p><p>  void Search6(Sch sch[20],int

147、zs[2][20],int N)</p><p><b>  {//按總成績(jī)查詢</b></p><p><b>  int i,j;</b></p><p>  printf("學(xué)校按總成績(jī)排名:\n");</p><p>  for(i=0;i<N;i++)</p

148、><p>  for(j=0;j<N;j++)</p><p>  if(sch[j].num==zs[1][i])</p><p>  printf("第%d名:%s ",i+1,sch[j].name);</p><p>  printf("\n");</p><p>&

149、lt;b>  }</b></p><p>  void Search7(Sch sch[20],int zs[2][20],int N)</p><p><b>  {//查詢總成績(jī)</b></p><p><b>  int i,k1;</b></p><p>  printf(

150、"輸入學(xué)校編號(hào):");</p><p>  scanf("%d",&k1);</p><p><b>  if(k1>N)</b></p><p>  printf("所查學(xué)校不存在\n");</p><p><b>  else<

151、/b></p><p><b>  {</b></p><p>  for(i=0;i<N;i++)</p><p>  if(zs[1][i]==k1)</p><p>  printf("學(xué)校名:%-5s \n總分:%d\n",sch[k1-1].name,zs[0][i]);<

152、/p><p><b>  }</b></p><p><b>  }</b></p><p>  void Index1()</p><p><b>  {</b></p><p>  printf("***********************

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論