2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  C語言課程設(shè)計(jì)</b></p><p><b>  校</b></p><p><b>  際</b></p><p><b>  運(yùn)</b></p><p><b>  動(dòng)</b></p>

2、<p><b>  會(huì)</b></p><p><b>  管</b></p><p><b>  理</b></p><p><b>  系</b></p><p><b>  統(tǒng)</b></p><

3、p>  C語言程序設(shè)計(jì)報(bào)告書</p><p>  一、C 語言程序設(shè)計(jì)的目的</p><p>  鞏固已學(xué)習(xí)的內(nèi)容,復(fù)習(xí)程序設(shè)計(jì)和上機(jī)調(diào)試的基本方法方法。通過學(xué)習(xí)一個(gè)綜合程序的設(shè)計(jì)與編寫,使學(xué)生能夠在較短的時(shí)間內(nèi)掌握綜合程序設(shè)計(jì)的基本步驟和方法。通過學(xué)習(xí)課本上的習(xí)題,舉一反三,學(xué)會(huì)構(gòu)建程序的柜架以及部分常用的算法代碼的收發(fā)室。在加強(qiáng)的基礎(chǔ)上,動(dòng)手兩個(gè)程序的完整設(shè)計(jì)與編寫。</p

4、><p><b>  課程設(shè)計(jì)報(bào)告正文</b></p><p><b> ?。ㄒ唬?、題目</b></p><p>  (1)信息初始化,輸入:</p><p>  N-參賽學(xué)校總數(shù),M-男子競(jìng)賽項(xiàng)目數(shù),W-女子競(jìng)賽項(xiàng)目數(shù);</p><p>  各項(xiàng)目名次取法有以下幾種:</

5、p><p>  《1》取前5名:第1名得分 7,第2名得分 5,第3名得分 3,第4名得分 2,第5名得分 1.</p><p>  《2》取前3名:第1名得分 5,第2名得分 3,第3名得分 2.</p><p>  《3》用戶自定義:各名次權(quán)值由用戶指定。</p><p> ?。?)提醒用戶填寫比賽結(jié)果,輸入各項(xiàng)目獲獎(jiǎng)運(yùn)動(dòng)員的信息。</

6、p><p> ?。?)所有信息記錄完畢后,用戶可以查詢各個(gè)學(xué)校的比賽成績(jī),生成團(tuán)體總分報(bào)表,查看參賽學(xué)校信息和比賽項(xiàng)目信息等。</p><p><b>  [提示]</b></p><p>  (1)總體設(shè)計(jì):系統(tǒng)設(shè)計(jì)為信息輸入模塊、比賽結(jié)果錄入模塊和查詢模塊三個(gè)模塊。</p><p> ?。?)數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體數(shù)組,包括

7、學(xué)校、項(xiàng)目、運(yùn)動(dòng)員三個(gè)結(jié)構(gòu)體。比如學(xué)校結(jié)構(gòu)體成員包括學(xué)校校名、競(jìng)賽項(xiàng)目、得分項(xiàng)目結(jié)構(gòu)體成員包括項(xiàng)目名、權(quán)值。</p><p> ?。ǘ╊}目的總體要求是要建立三個(gè)模塊:信息輸入模塊、比賽結(jié)果錄入模塊以及查詢模塊。</p><p>  在建立完之后,要求該程序能夠在用戶將各種必要的信息記錄之后,用戶可以查詢所有學(xué)校的比賽成績(jī),而且也可以生成團(tuán)體總分表,查看參賽學(xué)校信息和比賽項(xiàng)目信息等一切錄入

8、的信息,為此,要示編程人員能通過一些具體的程序?qū)⒁陨系墓δ芗右詫?shí)現(xiàn)。</p><p>  在建立三個(gè)模塊的大前提下,我們將采用結(jié)構(gòu)體,循環(huán)體,指針和各種函數(shù)來實(shí)現(xiàn)這種功能,在數(shù)據(jù)結(jié)構(gòu)體中,要采用結(jié)構(gòu)體數(shù)組,其中包括學(xué)校、項(xiàng)目、運(yùn)動(dòng)員三個(gè)結(jié)構(gòu)體。學(xué)校結(jié)構(gòu)體成員包括學(xué)校校名、競(jìng)賽項(xiàng)目、得分項(xiàng)目結(jié)構(gòu)體成員包括項(xiàng)目名、權(quán)值。</p><p> ?。?)在此程序中,包括幾個(gè)頭文件:mainfile.

9、h; dos.h; conio.h; momery.h; 接下來,定義全局變量,其中包括“參賽學(xué)校項(xiàng)目數(shù)N;男子項(xiàng)目數(shù)M;女子項(xiàng)目數(shù)W;參賽學(xué)校g_school;競(jìng)賽項(xiàng)目g_sport; 各名次鏈表指針ptrHead,ptrThis,ptrNew;</p><p>  總體設(shè)計(jì):系統(tǒng)設(shè)計(jì)為信息輸入模塊、比賽結(jié)果錄入模塊和查詢模塊三個(gè)模塊。</p><p> ?。?)各種結(jié)構(gòu)的分析:<

10、/p><p>  靜態(tài)存儲(chǔ)方式:它是指在程序運(yùn)行期間由系統(tǒng)分配固定的存儲(chǔ)空間的方式,全局變量全部存放在靜態(tài)存儲(chǔ)區(qū)中,在程序開始執(zhí)行時(shí)給全局變量分配存儲(chǔ)區(qū),程序執(zhí)行完畢就釋放,在程序執(zhí)行過程中它們占據(jù)固定的存儲(chǔ)單元,而不是動(dòng)態(tài)地進(jìn)行分配和釋放。</p><p>  用static聲明局部變量:使用該變量可以使局部變量的值在函數(shù)調(diào)用結(jié)束后不消失而保留原值,這即為靜態(tài)局部變量的特點(diǎn)。</p&g

11、t;<p>  靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元,在程序整個(gè)運(yùn)行期間都不釋放。對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值,以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。如在定義局部變量時(shí)不賦初值的話,則對(duì)靜態(tài)局部不說,編譯時(shí)自動(dòng)賦初值0(對(duì)數(shù)值型變量)或空字符(對(duì)</p><p>  字符變量)。而對(duì)自動(dòng)變量來說,如果不賦初值

12、則它的值是一個(gè)不確定的值。雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。</p><p>  Malloc函數(shù)的作用是在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配一個(gè)長(zhǎng)度為size的連續(xù)空間。此函數(shù)的值是一個(gè)指向分配域起始地址的指針,如果此函數(shù)未能成功地執(zhí)行,則返回空指針。</p><p>  鏈表是動(dòng)態(tài)地進(jìn)行存儲(chǔ)分配的一種結(jié)構(gòu),所謂建立動(dòng)態(tài)鏈表是指在程序執(zhí)行過程中從無到有地建立一個(gè)鏈表

13、,即一個(gè)一個(gè)地開辟結(jié)點(diǎn)和輸入各結(jié)點(diǎn)數(shù)據(jù),并建立起前后相鏈的關(guān)系。</p><p>  循環(huán)結(jié)構(gòu)是結(jié)構(gòu)程序設(shè)計(jì)的基本結(jié)構(gòu)之一,它和順序結(jié)構(gòu)、選擇結(jié)構(gòu)共同作為各種復(fù)雜程序的基本構(gòu)造單元。通常用while、do…while語句實(shí)現(xiàn)循環(huán),最常用的是for語句的循環(huán),奪循環(huán)中還有循環(huán)的嵌套,它是指一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu)。用語句來實(shí)現(xiàn)從循環(huán)體內(nèi)跳出來,即提前結(jié)束循環(huán),接著執(zhí)行循環(huán)下面的語句,但break語句不

14、能用于循環(huán)語句和swich語句之外的任何其他語句中。另外一種就是continue語句,它的作用是結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。</p><p>  Swich語句是多分支選擇語句,它后面括號(hào)內(nèi)的“表達(dá)式”,ANSI標(biāo)準(zhǔn)允許它為任何類型。當(dāng)表達(dá)式的值與一個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語句,若所有的case中的常量表達(dá)式的值都沒有與表達(dá)

15、式的值匹配的,就執(zhí)行default后面的語句,每一個(gè)case的常量表達(dá)式的值必須都不相同;否則就會(huì)出現(xiàn)相互矛盾的現(xiàn)象。各個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果,執(zhí)行完一個(gè)case后面的語句后,流程控制轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行?!癱ase常量表達(dá)式”只是起語句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。在執(zhí)行swich語句時(shí),根據(jù)swich后面表達(dá)式的值找到匹配的入口標(biāo)號(hào),就從此標(biāo)號(hào)開始執(zhí)行下去,不再進(jìn)行判斷。</p>

16、<p><b>  程序流程圖</b></p><p>  項(xiàng)目名次的取法及每一名次的分值</p><p>  ****************************MENU1*******************************</p><p><b>  ******</b></p>

17、<p>  1.enter!!!</p><p>  2.record!!!</p><p>  3.search!!!</p><p>  *******************************************************************************</p><p>  choi

18、ce your number:( )</p><p><b>  二、課程設(shè)計(jì)體會(huì)</b></p><p>  在此次的C語言的課程設(shè)計(jì)中,從一開始到最后的結(jié)束自己的課程設(shè)計(jì)報(bào)告,我不僅學(xué)到了許多專業(yè)知識(shí),更重要的是我學(xué)會(huì)了如何在拿到一個(gè)題目時(shí)進(jìn)行簡(jiǎn)單的程序分析,并編譯出一些相對(duì)簡(jiǎn)單的程序,當(dāng)然了,對(duì)自己編譯出的不對(duì)的程序,我也能進(jìn)行一些分析,并對(duì)其進(jìn)行完善。在此次的

19、學(xué)習(xí)過程中,同伴教給了我們很多的東西,從一開始的不懂VC++這種軟件,到最后的我們可以進(jìn)行較熟練的應(yīng)用它,也許在這過程中,我們無論是誰都遇到了一些小的困難,但是在我們的共同努力下,我們最終還是克服了它,單從這一點(diǎn)來說,我們就學(xué)到了許多的東西,比如teamwork,同學(xué)之間的相互幫助與配合,都證明了這一點(diǎn),我相信這是我此次學(xué)習(xí)C語言程序的最大收獲。</p><p>  在我的程序設(shè)計(jì)的過程中,遇到了很大有難題,特別

20、是在剛拿到我的題目時(shí),頭腦中根本沒有頭緒,更不要說去編譯程序了,當(dāng)時(shí)真的很擔(dān)心是否可以完成老師布置的任務(wù),但慢慢的在學(xué)習(xí)的過程中,我開始懂得了一些編譯的方法,就嘗試著去編譯一些程序,結(jié)果還是很好,最后我編出了我題目的程序,但是在程序的運(yùn)行過程中,又遇到了新的難題,那就是我所編的程序中有太多的錯(cuò)誤,根本無法進(jìn)行運(yùn)行,沒辦法,只好硬著頭皮修改,不過還好,在同伴的幫助下,我最終將我的程序成功地進(jìn)行了運(yùn)行,在我自己的程序運(yùn)行時(shí),心中有一種說不出

21、的高興,是的,我們這幾天的努力總是沒有白費(fèi)。</p><p><b>  附錄:程序源代碼</b></p><p>  ll/*include some head files*/ </p><p>  #include "mainfile.h" </p><p>  #include

22、 "dos.h" </p><p>  #include "conio.h" </p><p>  #include "memory.h" </p><p>  /*global variant define*/ </p><p>  int

23、 N, /*參賽學(xué)校數(shù)*/ </p><p>  M, /*男子項(xiàng)目數(shù)*/ </p><p>  W; /*女子項(xiàng)目數(shù)*/ </p><p>  static School g_sc

24、hool; /*參賽學(xué)校*/ </p><p>  static Sport g_sport; /*競(jìng)賽項(xiàng)目*/ </p><p>  pPosition ptrHead,ptrThis,ptrNew; /*名次鏈表指針*/ </p>&l

25、t;p>  /************************************************************************/ </p><p>  /* 主程序入口 */ </p><p>  /***************

26、*********************************************************/ </p><p>  void main() </p><p><b>  { </b></p><p>  char ch; </p><p>  Bool err=_FALSE;

27、</p><p>  memset(&g_school,0,sizeof(School)); </p><p>  memset(&g_sport,0,sizeof(Sport)); </p><p>  printf("\n======================================================

28、====="); </p><p>  printf("\n***********************************************************"); </p><p>  printf("\n*

29、*"); </p><p>  printf("\n* 歡迎進(jìn)入校際運(yùn)動(dòng)會(huì)信息管理系統(tǒng) *"); </p><p>  printf("\n* *"); </p&

30、gt;<p>  printf("\n***********************************************************"); </p><p>  printf("\n==========================================================="); </p>

31、<p>  printf("\n\n\n\n按“Q”鍵退出運(yùn)行,\n其它任意鍵繼續(xù)..."); </p><p>  ch=toupper(getch()); </p><p>  if (ch=='Q') { </p><p>  exit(0); </p><p><b

32、>  } </b></p><p>  /*設(shè)置參賽學(xué)校信息*/ </p><p>  if (SetSchoolInfo(&N)) { </p><p>  GetSchoolInfo(); </p><p><b>  } </b></p><p>

33、;<b>  else </b></p><p><b>  { </b></p><p>  printf("發(fā)生錯(cuò)誤,程序?qū)⑼顺?quot;); </p><p>  return; </p><p><b>  } </b&g

34、t;</p><p>  printf("\n\n按任意健繼續(xù)..."); </p><p>  getch(); </p><p>  system("cls"); </p><p>  /*設(shè)置競(jìng)賽項(xiàng)目信息*/ </p><p>  err=SetSportI

35、nfo(); </p><p>  /*打印競(jìng)賽項(xiàng)目信息*/ </p><p>  GetSportInfo(); </p><p>  /*填寫競(jìng)賽結(jié)果信息*/ </p><p>  SetPosition For All Sports(); </p><p>  system("cl

36、s"); </p><p>  /*主菜單*/ </p><p>  while (1) { </p><p>  printf("\n**************************************************"); </p><p>  printf("\n*

37、 *"); </p><p>  printf("\n* 鍵入'q'退出程序 *"); </p><p>  printf("\n* 鍵入&

38、#39;s'查詢學(xué)校成績(jī) *"); </p><p>  printf("\n* 鍵入'r'生成報(bào)表 *"); </p><p>  printf("\n* 鍵入'i'查看參賽學(xué)校

39、 *"); </p><p>  printf("\n* 鍵入'p'查看競(jìng)賽項(xiàng)目 *"); </p><p>  printf("\n* 鍵入'c'刷新屏幕 *");

40、</p><p>  printf("\n* *"); </p><p>  printf("\n**************************************************"); </p><p> 

41、 printf("\n請(qǐng)輸入您的選擇:"); </p><p>  ch=toupper(getch()); </p><p>  printf("\n"); </p><p>  system("cls"); </p><p>  switch(ch) &l

42、t;/p><p><b>  { </b></p><p>  case 'Q': </p><p>  exit(0); </p><p><b>  break; </b></p><p>  case 'R

43、9;: /*生成報(bào)表*/ </p><p>  GetReport(); </p><p><b>  break; </b></p><p>  case 'S': /*打印成績(jī)*/ </p>

44、<p>  GetScoreBySchool(); </p><p><b>  break; </b></p><p>  case 'I': </p><p>  GetSchoolInfo(); </p><p><b>  break; </b>

45、</p><p>  case 'P': </p><p>  GetSportInfo(); </p><p><b>  break; </b></p><p>  case 'C': </p><p>  system("cls&qu

46、ot;); </p><p><b>  break; </b></p><p>  default: </p><p>  printf("\n請(qǐng)鍵入一個(gè)正確的選擇"); </p><p>  } </p><p>

47、<b>  } </b></p><p>  return; </p><p><b>  } </b></p><p>  /************************************************************************/ </p><

48、p>  /* 設(shè)置競(jìng)賽項(xiàng)目總數(shù) */ </p><p>  /************************************************************************/ </p><p>  Bool SetFMSportTotalN

49、um(int* pnTotalNmOfFMSprt,int type/*0:男子;1:女子*/) </p><p><b>  { </b></p><p>  if (pnTotalNmOfFMSprt==NULL) { </p><p>  return _FALSE; </p><p><b&

50、gt;  } </b></p><p>  system("cls"); </p><p>  printf("\n------- ------- -------- ----"); </p><p>  if (type==0) {/*男子*/ </p><p>  pr

51、intf("\n請(qǐng)輸入男子競(jìng)賽項(xiàng)目總數(shù):"); </p><p>  scanf("%d",pnTotalNmOfFMSprt); </p><p>  if (*pnTotalNmOfFMSprt<=0||*pnTotalNmOfFMSprt>MAX_M) { </p><p>  printf(&q

52、uot;\n學(xué)??倲?shù)必須大于0小于%d",MAX_M); </p><p>  return _FALSE; </p><p><b>  } </b></p><p><b>  else </b></p><p>  return _TRUE; </p>

53、<p><b>  } </b></p><p>  else{/*女子*/ </p><p>  printf("\n請(qǐng)輸入女子競(jìng)賽項(xiàng)目總數(shù):"); </p><p>  scanf("%d",pnTotalNmOfFMSprt); </p><p>

54、;  if (*pnTotalNmOfFMSprt<=0||*pnTotalNmOfFMSprt>MAX_W) { </p><p>  printf("\n學(xué)??倲?shù)必須大于0小于%d",MAX_W); </p><p>  return _FALSE; </p><p><b>  } </b>

55、</p><p><b>  else </b></p><p>  return _TRUE; </p><p><b>  } </b></p><p><b>  } </b></p><p>  /*************

56、***********************************************************/ </p><p>  /* 設(shè)置某項(xiàng)目名次的取法及每一名次的分值 */ </p><p>  /***************************************************

57、*********************/ </p><p>  Bool SetScoreType(int n/*項(xiàng)目編號(hào)-1*/) </p><p><b>  { </b></p><p>  char ch; </p><p>  Bool ret=_FALSE; </p>&

58、lt;p>  Bool err=_FALSE; </p><p>  int totalPrv,i,power; </p><p><b>  do { </b></p><p>  system("cls"); </p><p>  printf("\n請(qǐng)選擇編號(hào)為%

59、d的競(jìng)賽項(xiàng)目取名次類型\n(0: 取前5名; 1: 取前3名; 2: 用戶自定義):",n+1); </p><p>  ch=toupper(getch()); </p><p>  printf("\n"); </p><p>  switch(ch) { </p><p>  case

60、 '0':/*取前5名*/ </p><p>  g_sport.sportInfoArray[n].scrTyp=_FIVE; </p><p>  g_sport.sportInfoArray[n].scrInfo.total=5; </p><p>  if ((g_sport.sportInfoArray[n].scrInfo.p

61、ower=(int*)malloc(sizeof(int)*5))==NULL) { </p><p>  printf("\n memory err"); </p><p>  return _FALSE; </p><p><b>  } </b></p><p>  g_spor

62、t.sportInfoArray[n].scrInfo.power[0]=7; </p><p>  g_sport.sportInfoArray[n].scrInfo.power[1]=5; </p><p>  g_sport.sportInfoArray[n].scrInfo.power[2]=3; </p><p>  g_sport.sport

63、InfoArray[n].scrInfo.power[3]=2; </p><p>  g_sport.sportInfoArray[n].scrInfo.power[4]=1; </p><p>  ret=_TRUE; </p><p><b>  break; </b></p><p>  case

64、 '1':/*取前3名*/ </p><p>  g_sport.sportInfoArray[n].scrTyp=_THREE; </p><p>  g_sport.sportInfoArray[n].scrInfo.total=3; </p><p>  if ((g_sport.sportInfoArray[n].scrInfo.

65、power=(int*)malloc(sizeof(int)*3))==NULL) { </p><p>  printf("\n memory err"); </p><p>  return _FALSE; </p><p><b>  } </b></p><p>  g_spo

66、rt.sportInfoArray[n].scrInfo.power[0]=5; </p><p>  g_sport.sportInfoArray[n].scrInfo.power[1]=3; </p><p>  g_sport.sportInfoArray[n].scrInfo.power[2]=2; </p><p>  ret=_TRUE;

67、 </p><p><b>  break; </b></p><p>  case '2':/*用戶自定義類型*/ </p><p>  g_sport.sportInfoArray[n].scrTyp=_CUSTOM; </p><p><b>  do { </b&g

68、t;</p><p>  printf("\n請(qǐng)輸入本項(xiàng)目取前多少名:"); </p><p>  scanf("%d",&totalPrv); </p><p>  if (totalPrv<=0) { </p><p>  printf("\n輸入有誤。只能大于0

69、"); </p><p><b>  } </b></p><p><b>  else </b></p><p>  err=_TRUE; </p><p>  } while(err==_FALSE); </p>&l

70、t;p>  g_sport.sportInfoArray[n].scrInfo.total=totalPrv; </p><p>  if ((g_sport.sportInfoArray[n].scrInfo.power=(int*)malloc(sizeof(int)*totalPrv))==NULL) { </p><p>  printf("\n memor

71、y err"); </p><p>  return _FALSE; </p><p><b>  } </b></p><p>  for(i=0;i<totalPrv;i++); ("*pnTotalNmOfSch<=0||*pnTotalNmOfSch");</p>&l

72、t;p>  if scanf("%d",pnTotalNmOfSch); </p><p>  printf("\n請(qǐng)輸入?yún)⒓舆\(yùn)動(dòng)會(huì)的學(xué)校總數(shù):?");-------?);------------- -----------);</p><p>  printf("\n---------",system("cls&q

73、uot;); </p><p>  { (ret="=_FALSE") while } _FALSE;</p><p>  return (pnTotalNmOfSch="=NULL") ret="_TRUE";</p><p>  Bool pnTotalNmOfSch)SetSchoolTotalNum

74、</p><p>  (int* ************************************************************************ * </p><p>  設(shè)置學(xué)??倲?shù) _TRUE; SetScoreType(i); ; </p><p>  g_sport.sportInfoArray[i].sportName[M

75、AXLENGTH-1]="\0" scanf("%s",g_sport.sportInfoArray[i].sportName);</p><p>  printf("\n請(qǐng)輸入編號(hào)為%d的競(jìng)賽項(xiàng)目名稱:",i+1);</p><p>  *項(xiàng)目名稱* g_sport.sportInfoArray[i].sprtTyp="

76、;_MAN;"</p><p>  else{ (i+1<="M)" *項(xiàng)目類型:男子或女子項(xiàng)目* g_sport.sportInfoArray[i].sportNum="i+1;/*項(xiàng)目編號(hào)*/" </p><p>  for(i="0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotal

77、NmOfMSprt;i++)" *女子項(xiàng)目總數(shù)* g_sport.nTotalNmOfFSprt="W;"</p><p>  while(err="=_FALSE);" )err="_FALSE;</p><p>  " do *男子項(xiàng)目總數(shù)* g_sport.nTotalNmOfMSprt="M;"

78、; i="0;</p><p>  " int SetSportInfo() 設(shè)置競(jìng)賽項(xiàng)目信息 ret; while(ret="=_FALSE);"</p><p>  printf("\n錯(cuò)誤的選擇!"); *錯(cuò)誤的輸入* default: break; </p><p>  g_sport.sportI

79、nfoArray[n].scrInfo.power[i]="power;" </p><p>  else printf("\n輸入有誤。只能大于0"); (power<="0)" </p><p>  scanf("%d",&power); </p><p>  prin

80、tf("\n請(qǐng)輸入該項(xiàng)目第%d名的分值:",i+1);>MAX_N) { </p><p>  printf("\n學(xué)??倲?shù)必須大于0小于%d\n",MAX_N); </p><p>  printf("\n\n按任意健繼續(xù)"); </p><p>  getch(); </p&

81、gt;<p>  ret=_FALSE; </p><p><b>  } </b></p><p><b>  else </b></p><p>  ret=_TRUE; </p><p><b>  } </b></p>&

82、lt;p>  return _TRUE; </p><p><b>  } </b></p><p>  /************************************************************************/ </p><p>  /* 填充參賽學(xué)校信息

83、 */ </p><p>  /************************************************************************/ </p><p>  Bool SetSchoolInfo(int* pnTotalNmOfSch) </p>

84、<p><b>  { </b></p><p>  int i=0; </p><p>  if (!SetSchoolTotalNum(pnTotalNmOfSch)) { </p><p>  printf("\nerr!"); </p><p>  return _

85、FALSE; </p><p><b>  } </b></p><p><b>  else{ </b></p><p>  g_school.nTotalNmOfSch=*pnTotalNmOfSch; </p><p>  for(i=0;i<G_SCHOOL.

86、NTOTALNMOFSCH;i++) if printf(?\n--------- { while } return Bool ************************************************************************ * _TRUE; ; for(i="0;i<g_school.nTotalNmOfSch;i++)" err="_FALSE;&q

87、uot; i="0;" int else (ptrThis- ptrThis="ptrHead;" ptrHead="ptrThis=ptrNew;" (ptrHead="=(pPosition)NULL)" ptrNew="(pPosition)malloc(LEN);" printf(?\n填寫項(xiàng)目%d的比賽結(jié)果?,sportNum+

88、1); ------?); --------- ------------ ) *項(xiàng)目編號(hào)-1* sportNum SetPositionForOneSport(int void *為某個(gè)競(jìng)賽項(xiàng)目設(shè)定比賽結(jié)果信息 校名:%s?,g</p><p><b>  { </b></p><p>  ptrThis=ptrThis->ptrNext; </p

89、><p><b>  } </b></p><p>  ptrThis->ptrNext=ptrNew; </p><p>  ptrThis=ptrNew; </p><p><b>  } </b></p><p>  /*項(xiàng)目編號(hào)*/ </p

90、><p>  ptrThis->sportNum=sportNum+1; </p><p>  printf("\n輸入獲得第%d名的學(xué)生信息",i+1); </p><p><b>  /*姓名*/ </b></p><p>  printf("\n姓名:");

91、 </p><p>  scanf("%s",ptrThis->name); </p><p>  /*學(xué)校編號(hào)*///檢查編號(hào)合法性 </p><p><b>  do { </b></p><p>  printf("\n學(xué)校編號(hào):"); </p&g

92、t;<p>  scanf("%d",&ptrThis->schoolNum); </p><p>  if (ptrThis->schoolNum<=0||ptrThis->schoolNum>g_school.nTotalNmOfSch) { </p><p>  printf(&

93、quot;\n學(xué)校編號(hào)必須大于0小于等于%d",g_school.nTotalNmOfSch); </p><p>  err=_FALSE; </p><p><b>  } </b></p><p><b>  else </b></p><p><b>  

94、{ </b></p><p>  err=_TRUE; </p><p>  } </p><p>  } while(err==_FALSE); </p><p><b>  /*名次*/ </b></p><p>  ptrThis->

95、;score=i+1; </p><p>  ptrThis->ptrNext=(pPosition)NULL; </p><p><b>  } </b></p><p><b>  } </b></p><p>  /*************************

96、***********************************************/ </p><p>  /* 填充所有競(jìng)賽項(xiàng)目結(jié)果信息 */ </p><p>  /*********************************************************

97、***************/ </p><p>  void SetPositionForAllSports() </p><p><b>  { </b></p><p>  int i=0; </p><p>  for(i=0;i<G_SPORT.NTOTALNMOFFSPRT+G_SPO

98、RT.NTOTALNMOFMSPRT;I++) if system(?cls?); { } return ************************************************************************ * for(i="0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++)" i="0;&quo

99、t; int break; ) sportNum void (schnum scanf(?%d?,&schnum); printf(?\n請(qǐng)輸入您想查詢的學(xué)校編號(hào):?); return; printf(?\n沒有學(xué)校參加比賽?); (g_school.nTotalNmOfSch<="0)" *學(xué)校編號(hào)* schnum; GetScoreBySchool() 按學(xué)校打印成績(jī) g_sport.sportIn

100、foArray[i].scrInfo.power[score-1]; (int)-1; (i="=g_sport.nTot</p><p><b>  { </b></p><p>  printf("\n學(xué)校編號(hào)必須大于0小于等于%d",g_school.nTotalNmOfSch); </p><p>

101、  return; </p><p><b>  } </b></p><p>  if(ptrHead==(pPosition)NULL) </p><p><b>  { </b></p><p>  printf("\n沒有比賽結(jié)果"); </p&

102、gt;<p>  return; </p><p><b>  } </b></p><p>  ptrThis=ptrHead; </p><p>  printf("\n學(xué)校編號(hào):%d 校名:%s",schnum,g_school.schInfoArray[schnum-1].schoolNa

103、me); </p><p>  printf("\n\n 項(xiàng)目號(hào) 項(xiàng)目名稱 名次 姓名 得分"); </p><p>  printf("\n ---------- --------------- ---- ---------------- ----"); </p>

104、<p><b>  do { </b></p><p>  if (ptrThis->schoolNum==schnum) </p><p><b>  { </b></p><p>  printf("\n%5d",ptrThis->sportNum);/*項(xiàng)目號(hào)

105、*/ </p><p>  printf("%20s",GetSportName(ptrThis->sportNum));/*項(xiàng)目名稱*/ </p><p>  printf("%5d",ptrThis->score);/*名次*/ </p><p>  printf("%20s",

106、ptrThis->name);/*姓名*/ </p><p>  printf("%5d",GetPower(ptrThis->sportNum,ptrThis->score)); </p><p><b>  } </b></p><p>  ptrThis=ptrThis->ptrNe

107、xt; </p><p>  } while(ptrThis!=(pPosition)NULL); </p><p><b>  } </b></p><p>  /************************************************************************/ </p&g

108、t;<p>  /* 生成報(bào)表 */ </p><p>  /************************************************************************/ </p><p>  void GetR

109、eport() </p><p><b>  { </b></p><p>  int i,j,manTotal=0,womTotal=0,Total=0;/*男子團(tuán)體總分,女子團(tuán)體總分,團(tuán)體總分*/ </p><p>  if(ptrHead==(pPosition)NULL) </p><p><

110、;b>  { </b></p><p>  printf("\n沒有比賽結(jié)果"); </p><p>  return; </p><p><b>  } </b></p><p>  ptrThis=ptrHead; </p><p&g

111、t;  printf("\n團(tuán)體總分報(bào)表:"); </p><p>  printf("\n\n學(xué)校編號(hào) 學(xué)校校名 男子團(tuán)體總分 女子團(tuán)體總分 團(tuán)體總分"); </p><p>  printf("\n--------- ---------------- -------------

112、 ----------- -----------"); </p><p>  for(i=0;i<G_SCHOOL.NTOTALNMOFSCH;i++) { do ptrThis="ptrHead;" if(ptrThis- manTotal="0;womTotal=0;Total=0;">schoolNum==g_school.schInf

113、oArray[i].SchoolNum)/*同一學(xué)校*/ </p><p><b>  { </b></p><p>  for(j=0;j<G_SPORT.NTOTALNMOFFSPRT+G_SPORT.NTOTALNMOFMSPRT;J++) if { (ptrThis->sportNum==g_sport.sportInfoArray[j].

114、sportNum) {/*某一競(jìng)賽項(xiàng)目*/ </p><p>  if (g_sport.sportInfoArray[j].sprtTyp==_MAN) { </p><p>  manTotal+=g_sport.sportInfoArray[j].scrInfo.power[ptrThis->score-1]; </p><p><b&

115、gt;  } </b></p><p><b>  else{ </b></p><p>  womTotal+=g_sport.sportInfoArray[j].scrInfo.power[ptrThis->score-1]; </p><p>  } <

116、/p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  ptrThis=ptrThis->ptrNext; </p><p>

117、;  } while(ptrThis!=(pPosition)NULL); </p><p>  Total+=manTotal+womTotal; </p><p>  printf("\n%5d",g_school.schInfoArray[i].SchoolNum); </p><p>  printf("%20s

118、",g_school.schInfoArray[i].schoolName); </p><p>  printf("%10d",manTotal); </p><p>  printf("%15d",womTotal); </p><p>  printf("%15d\n",Tota

119、l); </p><p><b>  } </b></p><p><b>  } </b></p><p>  /************************************************************************/ </p><p

120、>  /* 打印競(jìng)賽項(xiàng)目信息 */ </p><p>  /************************************************************************/ </p><p>  void GetSportInfo()

121、</p><p><b>  { </b></p><p>  int i,j; </p><p>  system("cls"); </p><p>  printf("\n您輸入的比賽項(xiàng)目信息如下:"); </p><p>  print

122、f("\n----- -------- ------- -------"); </p><p>  for(i=0;i<G_SPORT.NTOTALNMOFFSPRT+G_SPORT.NTOTALNMOFMSPRT;I++) if { } ************************************************************************

123、* for(i="0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++)" do i="0,j;" int (ptrThis- ptrThis="ptrHead;" void return; printf(?\n第%d個(gè)結(jié)點(diǎn):?,n++); printf(?\n沒有比賽結(jié)果?); if(ptrHead="

124、=(pPosition)NULL)" n="0;" GetList() 打印名次鏈表信息 getch(); printf(?\n按任意鍵繼續(xù)?); 得分:%d?,j+1,g_sport.sportInfoArray[i].scrInfo.power[j]); 第%d名 printf(?\n for(j="0;j<g_sport.sportInfoA</p><p>&

125、lt;b>  break; </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  if (i==g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt) { </p><

126、p>  return; </p><p><b>  } </b></p><p>  printf("\n 項(xiàng)目編號(hào):%d",ptrThis->sportNum); </p><p>  for(j=0;j<G_SPORT.SPORTINFOARRAY[I].SCRINFO.TOTAL;J+

127、+) { } ptrThis="ptrThis-" 分值%d?,j+1,g_sport.sportInfoArray[i].scrInfo.power[j]); printf(?\n名次:%d>ptrNext; </p><p>  } while(ptrThis!=(pPosition)NULL); </p><p><b>  } &

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論