版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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> 姓名: 候姣姣</p><p> 學(xué)號: 20071000233</p><p> 班級序號:05507202</p><p><b> 指導(dǎo)老師:劉文中</b></p><p> C語言程序設(shè)計(jì)報(bào)告書</p><p> 一、C 語言程序設(shè)計(jì)的目的</p>
4、;<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><p><b> 課程設(shè)計(jì)報(bào)告正文</b></p><p&
5、gt;<b> ?。ㄒ唬?、題目</b></p><p> ?。?)信息初始化,輸入:</p><p> N-參賽學(xué)??倲?shù),M-男子競賽項(xiàng)目數(shù),W-女子競賽項(xiàng)目數(shù);</p><p> 各項(xiàng)目名次取法有以下幾種:</p><p> 《1》取前5名:第1名得分 7,第2名得分 5,第3名得分 3,第4名得分 2,第5名得
6、分 1.</p><p> 《2》取前3名:第1名得分 5,第2名得分 3,第3名得分 2.</p><p> 《3》用戶自定義:各名次權(quán)值由用戶指定。</p><p> (2)提醒用戶填寫比賽結(jié)果,輸入各項(xiàng)目獲獎(jiǎng)運(yùn)動(dòng)員的信息。</p><p> ?。?)所有信息記錄完畢后,用戶可以查詢各個(gè)學(xué)校的比賽成績,生成團(tuán)體總分報(bào)表,查看參賽學(xué)校
7、信息和比賽項(xiàng)目信息等。</p><p><b> [提示]</b></p><p> ?。?)總體設(shè)計(jì):系統(tǒng)設(shè)計(jì)為信息輸入模塊、比賽結(jié)果錄入模塊和查詢模塊三個(gè)模塊。</p><p> ?。?)數(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é)校校名、競賽項(xiàng)目、得分項(xiàng)目結(jié)構(gòu)體成員包括項(xiàng)目名、權(quán)值。</p&g
8、t;<p> ?。ǘ╊}目的總體要求是要建立三個(gè)模塊:信息輸入模塊、比賽結(jié)果錄入模塊以及查詢模塊。</p><p> 在建立完之后,要求該程序能夠在用戶將各種必要的信息記錄之后,用戶可以查詢所有學(xué)校的比賽成績,而且也可以生成團(tuán)體總分表,查看參賽學(xué)校信息和比賽項(xiàng)目信息等一切錄入的信息,為此,要示編程人員能通過一些具體的程序?qū)⒁陨系墓δ芗右詫?shí)現(xiàn)。</p><p> 在建立三個(gè)
9、模塊的大前提下,我們將采用結(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é)校校名、競賽項(xiàng)目、得分項(xiàng)目結(jié)構(gòu)體成員包括項(xiàng)目名、權(quán)值。</p><p> ?。?)在此程序中,包括幾個(gè)頭文件:mainfile.h; dos.h; conio.h; momery.h; 接下來,定義全局變量,其中包括“參賽學(xué)校項(xiàng)目數(shù)N;男子項(xiàng)目數(shù)M;女
10、子項(xiàng)目數(shù)W;參賽學(xué)校g_school;競賽項(xiàng)目g_sport; 各名次鏈表指針ptrHead,ptrThis,ptrNew;</p><p> 總體設(shè)計(jì):系統(tǒng)設(shè)計(jì)為信息輸入模塊、比賽結(jié)果錄入模塊和查詢模塊三個(gè)模塊。</p><p> ?。?)各種結(jié)構(gòu)的分析:</p><p> 靜態(tài)存儲方式:它是指在程序運(yùn)行期間由系統(tǒng)分配固定的存儲空間的方式,全局變量全部存放在靜
11、態(tài)存儲區(qū)中,在程序開始執(zhí)行時(shí)給全局變量分配存儲區(qū),程序執(zhí)行完畢就釋放,在程序執(zhí)行過程中它們占據(jù)固定的存儲單元,而不是動(dòng)態(tài)地進(jìn)行分配和釋放。</p><p> 用static聲明局部變量:使用該變量可以使局部變量的值在函數(shù)調(diào)用結(jié)束后不消失而保留原值,這即為靜態(tài)局部變量的特點(diǎn)。</p><p> 靜態(tài)局部變量屬于靜態(tài)存儲類別,在靜態(tài)存儲區(qū)內(nèi)分配存儲單元,在程序整個(gè)運(yùn)行期間都不釋放。對靜態(tài)局
12、部變量是在編譯時(shí)賦初值的,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值,以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。如在定義局部變量時(shí)不賦初值的話,則對靜態(tài)局部不說,編譯時(shí)自動(dòng)賦初值0(對數(shù)值型變量)或空字符(對</p><p> 字符變量)。而對自動(dòng)變量來說,如果不賦初值則它的值是一個(gè)不確定的值。雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。</p><
13、;p> Malloc函數(shù)的作用是在內(nèi)存的動(dòng)態(tài)存儲區(qū)中分配一個(gè)長度為size的連續(xù)空間。此函數(shù)的值是一個(gè)指向分配域起始地址的指針,如果此函數(shù)未能成功地執(zhí)行,則返回空指針。</p><p> 鏈表是動(dòng)態(tài)地進(jìn)行存儲分配的一種結(jié)構(gòu),所謂建立動(dòng)態(tài)鏈表是指在程序執(zhí)行過程中從無到有地建立一個(gè)鏈表,即一個(gè)一個(gè)地開辟結(jié)點(diǎn)和輸入各結(jié)點(diǎn)數(shù)據(jù),并建立起前后相鏈的關(guān)系。</p><p> 循環(huán)結(jié)構(gòu)是結(jié)構(gòu)
14、程序設(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語句不能用于循環(huán)語句和swich語句之外的任何其他語句中。另外一種就是continue語句,它的作用是結(jié)束本次循環(huán),即跳過循環(huán)體中
15、下面尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。</p><p> Swich語句是多分支選擇語句,它后面括號內(nèi)的“表達(dá)式”,ANSI標(biāo)準(zhǔn)允許它為任何類型。當(dāng)表達(dá)式的值與一個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語句,若所有的case中的常量表達(dá)式的值都沒有與表達(dá)式的值匹配的,就執(zhí)行default后面的語句,每一個(gè)case的常量表達(dá)式的值必須都不相同;否則就會(huì)出現(xiàn)相互矛盾的現(xiàn)象。各個(gè)c
16、ase和default的出現(xiàn)次序不影響執(zhí)行結(jié)果,執(zhí)行完一個(gè)case后面的語句后,流程控制轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行?!癱ase常量表達(dá)式”只是起語句標(biāo)號作用,并不是在該處進(jìn)行條件判斷。在執(zhí)行swich語句時(shí),根據(jù)swich后面表達(dá)式的值找到匹配的入口標(biāo)號,就從此標(biāo)號開始執(zhí)行下去,不再進(jìn)行判斷。</p><p><b> 程序流程圖</b></p><p> 項(xiàng)目
17、名次的取法及每一名次的分值</p><p> ****************************MENU1*******************************</p><p><b> ******</b></p><p> 1.enter!!!</p><p> 2.record!!!</
18、p><p> 3.search!!!</p><p> *******************************************************************************</p><p> choice your number:( )</p><p><b> 二、課程設(shè)計(jì)體會(huì)<
19、/b></p><p> 在此次的C語言的課程設(shè)計(jì)中,從一開始到最后的結(jié)束自己的課程設(shè)計(jì)報(bào)告,我不僅學(xué)到了許多專業(yè)知識,更重要的是我學(xué)會(huì)了如何在拿到一個(gè)題目時(shí)進(jìn)行簡單的程序分析,并編譯出一些相對簡單的程序,當(dāng)然了,對自己編譯出的不對的程序,我也能進(jìn)行一些分析,并對其進(jìn)行完善。在此次的學(xué)習(xí)過程中,同伴教給了我們很多的東西,從一開始的不懂VC++這種軟件,到最后的我們可以進(jìn)行較熟練的應(yīng)用它,也許在這過程中,我
20、們無論是誰都遇到了一些小的困難,但是在我們的共同努力下,我們最終還是克服了它,單從這一點(diǎn)來說,我們就學(xué)到了許多的東西,比如teamwork,同學(xué)之間的相互幫助與配合,都證明了這一點(diǎn),我相信這是我此次學(xué)習(xí)C語言程序的最大收獲。</p><p> 在我的程序設(shè)計(jì)的過程中,遇到了很大有難題,特別是在剛拿到我的題目時(shí),頭腦中根本沒有頭緒,更不要說去編譯程序了,當(dāng)時(shí)真的很擔(dān)心是否可以完成老師布置的任務(wù),但慢慢的在學(xué)習(xí)的過
21、程中,我開始懂得了一些編譯的方法,就嘗試著去編譯一些程序,結(jié)果還是很好,最后我編出了我題目的程序,但是在程序的運(yùn)行過程中,又遇到了新的難題,那就是我所編的程序中有太多的錯(cuò)誤,根本無法進(jìn)行運(yùn)行,沒辦法,只好硬著頭皮修改,不過還好,在同伴的幫助下,我最終將我的程序成功地進(jìn)行了運(yùn)行,在我自己的程序運(yùn)行時(shí),心中有一種說不出的高興,是的,我們這幾天的努力總是沒有白費(fèi)。</p><p><b> 附錄:程序源代碼
22、</b></p><p> ll/*include some head files*/ </p><p> #include "mainfile.h" </p><p> #include "dos.h" </p><p> #include &qu
23、ot;conio.h" </p><p> #include "memory.h" </p><p> /*global variant define*/ </p><p> int N, /*參賽學(xué)校數(shù)*/ </p>
24、<p> M, /*男子項(xiàng)目數(shù)*/ </p><p> W; /*女子項(xiàng)目數(shù)*/ </p><p> static School g_school; /*參賽學(xué)校*/ </p><p> sta
25、tic Sport g_sport; /*競賽項(xiàng)目*/ </p><p> pPosition ptrHead,ptrThis,ptrNew; /*名次鏈表指針*/ </p><p> /****************************************************
26、********************/ </p><p> /* 主程序入口 */ </p><p> /************************************************************************/ &
27、lt;/p><p> void main() </p><p><b> { </b></p><p> char ch; </p><p> Bool err=_FALSE; </p><p> memset(&g_school,0,sizeof(School));
28、 </p><p> memset(&g_sport,0,sizeof(Sport)); </p><p> printf("\n==========================================================="); </p><p> printf("\n********
29、***************************************************"); </p><p> printf("\n* *"); </p><p> printf("\n*
30、 歡迎進(jìn)入校際運(yùn)動(dòng)會(huì)信息管理系統(tǒng) *"); </p><p> printf("\n* *"); </p><p> printf("\n*******************************
31、****************************"); </p><p> printf("\n==========================================================="); </p><p> printf("\n\n\n\n按“Q”鍵退出運(yùn)行,\n其它任意鍵繼續(xù)...")
32、; </p><p> ch=toupper(getch()); </p><p> if (ch=='Q') { </p><p> exit(0); </p><p><b> } </b></p><p> /*設(shè)置參賽學(xué)校信息*/ <
33、/p><p> if (SetSchoolInfo(&N)) { </p><p> GetSchoolInfo(); </p><p><b> } </b></p><p><b> else </b></p><p><b> {
34、 </b></p><p> printf("發(fā)生錯(cuò)誤,程序?qū)⑼顺?quot;); </p><p> return; </p><p><b> } </b></p><p> printf("\n\n按任意健繼續(xù)...");
35、</p><p> getch(); </p><p> system("cls"); </p><p> /*設(shè)置競賽項(xiàng)目信息*/ </p><p> err=SetSportInfo(); </p><p> /*打印競賽項(xiàng)目信息*/ </p>&l
36、t;p> GetSportInfo(); </p><p> /*填寫競賽結(jié)果信息*/ </p><p> SetPosition For All Sports(); </p><p> system("cls"); </p><p> /*主菜單*/ </p><p
37、> while (1) { </p><p> printf("\n**************************************************"); </p><p> printf("\n* *"); &l
38、t;/p><p> printf("\n* 鍵入'q'退出程序 *"); </p><p> printf("\n* 鍵入's'查詢學(xué)校成績 *"); </p><p>
39、 printf("\n* 鍵入'r'生成報(bào)表 *"); </p><p> printf("\n* 鍵入'i'查看參賽學(xué)校 *"); </p><p> printf("\n*
40、 鍵入'p'查看競賽項(xiàng)目 *"); </p><p> printf("\n* 鍵入'c'刷新屏幕 *"); </p><p> printf("\n*
41、 *"); </p><p> printf("\n**************************************************"); </p><p> printf("\n請輸入您的選擇:"); </p><p> ch=t
42、oupper(getch()); </p><p> printf("\n"); </p><p> system("cls"); </p><p> switch(ch) </p><p><b> { </b></p><p&
43、gt; case 'Q': </p><p> exit(0); </p><p><b> break; </b></p><p> case 'R': /*生成報(bào)表*/ </p><p>
44、 GetReport(); </p><p><b> break; </b></p><p> case 'S': /*打印成績*/ </p><p> GetScoreBySchool(); </p><p><b>
45、; break; </b></p><p> case 'I': </p><p> GetSchoolInfo(); </p><p><b> break; </b></p><p> case 'P': </p><p&g
46、t; GetSportInfo(); </p><p><b> break; </b></p><p> case 'C': </p><p> system("cls"); </p><p><b> break; </b><
47、;/p><p> default: </p><p> printf("\n請鍵入一個(gè)正確的選擇"); </p><p> } </p><p><b> } </b></p><p> return; <
48、/p><p><b> } </b></p><p> /************************************************************************/ </p><p> /* 設(shè)置競賽項(xiàng)目總數(shù)
49、 */ </p><p> /************************************************************************/ </p><p> Bool SetFMSportTotalNum(int* pnTotalNmOfFMSprt,int type/*0:男子;1:女子*/) </p>
50、<p><b> { </b></p><p> if (pnTotalNmOfFMSprt==NULL) { </p><p> return _FALSE; </p><p><b> } </b></p><p> system("cls&quo
51、t;); </p><p> printf("\n------- ------- -------- ----"); </p><p> if (type==0) {/*男子*/ </p><p> printf("\n請輸入男子競賽項(xiàng)目總數(shù):"); </p><p> sca
52、nf("%d",pnTotalNmOfFMSprt); </p><p> if (*pnTotalNmOfFMSprt<=0||*pnTotalNmOfFMSprt>MAX_M) { </p><p> printf("\n學(xué)??倲?shù)必須大于0小于%d",MAX_M); </p><p> ret
53、urn _FALSE; </p><p><b> } </b></p><p><b> else </b></p><p> return _TRUE; </p><p><b> } </b></p><p> els
54、e{/*女子*/ </p><p> printf("\n請輸入女子競賽項(xiàng)目總數(shù):"); </p><p> scanf("%d",pnTotalNmOfFMSprt); </p><p> if (*pnTotalNmOfFMSprt<=0||*pnTotalNmOfFMSprt>MAX_W)
55、{ </p><p> printf("\n學(xué)??倲?shù)必須大于0小于%d",MAX_W); </p><p> return _FALSE; </p><p><b> } </b></p><p><b> else </b></p>&
56、lt;p> return _TRUE; </p><p><b> } </b></p><p><b> } </b></p><p> /************************************************************************/
57、 </p><p> /* 設(shè)置某項(xiàng)目名次的取法及每一名次的分值 */ </p><p> /************************************************************************/ </p><p> Bool SetScoreT
58、ype(int n/*項(xiàng)目編號-1*/) </p><p><b> { </b></p><p> char ch; </p><p> Bool ret=_FALSE; </p><p> Bool err=_FALSE; </p><p> int totalP
59、rv,i,power; </p><p><b> do { </b></p><p> system("cls"); </p><p> printf("\n請選擇編號為%d的競賽項(xiàng)目取名次類型\n(0: 取前5名; 1: 取前3名; 2: 用戶自定義):",n+1); &l
60、t;/p><p> ch=toupper(getch()); </p><p> printf("\n"); </p><p> switch(ch) { </p><p> case '0':/*取前5名*/ </p><p> g_sport.sportIn
61、foArray[n].scrTyp=_FIVE; </p><p> g_sport.sportInfoArray[n].scrInfo.total=5; </p><p> if ((g_sport.sportInfoArray[n].scrInfo.power=(int*)malloc(sizeof(int)*5))==NULL) { </p><p
62、> printf("\n memory err"); </p><p> return _FALSE; </p><p><b> } </b></p><p> g_sport.sportInfoArray[n].scrInfo.power[0]=7; </p><p>
63、; g_sport.sportInfoArray[n].scrInfo.power[1]=5; </p><p> g_sport.sportInfoArray[n].scrInfo.power[2]=3; </p><p> g_sport.sportInfoArray[n].scrInfo.power[3]=2; </p><p> g_sp
64、ort.sportInfoArray[n].scrInfo.power[4]=1; </p><p> ret=_TRUE; </p><p><b> break; </b></p><p> case '1':/*取前3名*/ </p><p> g_sport.sportIn
65、foArray[n].scrTyp=_THREE; </p><p> g_sport.sportInfoArray[n].scrInfo.total=3; </p><p> if ((g_sport.sportInfoArray[n].scrInfo.power=(int*)malloc(sizeof(int)*3))==NULL) { </p><
66、p> printf("\n memory err"); </p><p> return _FALSE; </p><p><b> } </b></p><p> g_sport.sportInfoArray[n].scrInfo.power[0]=5; </p><p&g
67、t; g_sport.sportInfoArray[n].scrInfo.power[1]=3; </p><p> g_sport.sportInfoArray[n].scrInfo.power[2]=2; </p><p> ret=_TRUE; </p><p><b> break; </b></p>
68、<p> case '2':/*用戶自定義類型*/ </p><p> g_sport.sportInfoArray[n].scrTyp=_CUSTOM; </p><p><b> do { </b></p><p> printf("\n請輸入本項(xiàng)目取前多少名:");
69、 </p><p> scanf("%d",&totalPrv); </p><p> if (totalPrv<=0) { </p><p> printf("\n輸入有誤。只能大于0"); </p><p><b> }
70、 </b></p><p><b> else </b></p><p> err=_TRUE; </p><p> } while(err==_FALSE); </p><p> g_sport.sportInfoArray[n].scrInfo.total=totalPrv; &
71、lt;/p><p> if ((g_sport.sportInfoArray[n].scrInfo.power=(int*)malloc(sizeof(int)*totalPrv))==NULL) { </p><p> printf("\n memory err"); </p><p> return _FALSE; </p
72、><p><b> } </b></p><p> for(i=0;i<totalPrv;i++); ("*pnTotalNmOfSch<=0||*pnTotalNmOfSch");</p><p> if scanf("%d",pnTotalNmOfSch); </p>
73、<p> printf("\n請輸入?yún)⒓舆\(yùn)動(dòng)會(huì)的學(xué)校總數(shù):?");-------?);------------- -----------);</p><p> printf("\n---------",system("cls"); </p><p> { (ret="=_FALSE") whil
74、e } _FALSE;</p><p> return (pnTotalNmOfSch="=NULL") ret="_TRUE";</p><p> Bool pnTotalNmOfSch)SetSchoolTotalNum</p><p> (int* *********************************
75、*************************************** * </p><p> 設(shè)置學(xué)??倲?shù) _TRUE; SetScoreType(i); ; </p><p> g_sport.sportInfoArray[i].sportName[MAXLENGTH-1]="\0" scanf("%s",g_sport.sportI
76、nfoArray[i].sportName);</p><p> printf("\n請輸入編號為%d的競賽項(xiàng)目名稱:",i+1);</p><p> *項(xiàng)目名稱* g_sport.sportInfoArray[i].sprtTyp="_MAN;"</p><p> else{ (i+1<="M)&quo
77、t; *項(xiàng)目類型:男子或女子項(xiàng)目* g_sport.sportInfoArray[i].sportNum="i+1;/*項(xiàng)目編號*/" </p><p> for(i="0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++)" *女子項(xiàng)目總數(shù)* g_sport.nTotalNmOfFSprt="W;
78、"</p><p> while(err="=_FALSE);" )err="_FALSE;</p><p> " do *男子項(xiàng)目總數(shù)* g_sport.nTotalNmOfMSprt="M;" i="0;</p><p> " int SetSportInfo() 設(shè)
79、置競賽項(xiàng)目信息 ret; while(ret="=_FALSE);"</p><p> printf("\n錯(cuò)誤的選擇!"); *錯(cuò)誤的輸入* default: break; </p><p> g_sport.sportInfoArray[n].scrInfo.power[i]="power;" </p>&l
80、t;p> else printf("\n輸入有誤。只能大于0"); (power<="0)" </p><p> scanf("%d",&power); </p><p> printf("\n請輸入該項(xiàng)目第%d名的分值:",i+1);>MAX_N) { </p>
81、<p> printf("\n學(xué)??倲?shù)必須大于0小于%d\n",MAX_N); </p><p> printf("\n\n按任意健繼續(xù)"); </p><p> getch(); </p><p> ret=_FALSE; </p><p><b>
82、} </b></p><p><b> else </b></p><p> ret=_TRUE; </p><p><b> } </b></p><p> return _TRUE; </p><p><b> }
83、</b></p><p> /************************************************************************/ </p><p> /* 填充參賽學(xué)校信息 */ </p><p&
84、gt; /************************************************************************/ </p><p> Bool SetSchoolInfo(int* pnTotalNmOfSch) </p><p><b> { </b></p><p> int
85、i=0; </p><p> if (!SetSchoolTotalNum(pnTotalNmOfSch)) { </p><p> printf("\nerr!"); </p><p> return _FALSE; </p><p><b> } </b></p&
86、gt;<p><b> else{ </b></p><p> g_school.nTotalNmOfSch=*pnTotalNmOfSch; </p><p> for(i=0;i<G_SCHOOL.NTOTALNMOFSCH;i++) if printf(?\n--------- { while } return Boo
87、l ************************************************************************ * _TRUE; ; for(i="0;i<g_school.nTotalNmOfSch;i++)" err="_FALSE;" i="0;" int else (ptrThis- ptrThis="ptrHead
88、;" ptrHead="ptrThis=ptrNew;" (ptrHead="=(pPosition)NULL)" ptrNew="(pPosition)malloc(LEN);" printf(?\n填寫項(xiàng)目%d的比賽結(jié)果?,sportNum+1); ------?); --------- ------------ ) *項(xiàng)目編號-1* sportNum SetPo
89、sitionForOneSport(int void *為某個(gè)競賽項(xiàng)目設(shè)定比賽結(jié)果信息 校名:%s?,g</p><p><b> { </b></p><p> ptrThis=ptrThis->ptrNext; </p><p><b> } </b></p><p>
90、 ptrThis->ptrNext=ptrNew; </p><p> ptrThis=ptrNew; </p><p><b> } </b></p><p> /*項(xiàng)目編號*/ </p><p> ptrThis->sportNum=sportNum+1; </p>
91、<p> printf("\n輸入獲得第%d名的學(xué)生信息",i+1); </p><p><b> /*姓名*/ </b></p><p> printf("\n姓名:"); </p><p> scanf("%s",ptrThis->name)
92、; </p><p> /*學(xué)校編號*///檢查編號合法性 </p><p><b> do { </b></p><p> printf("\n學(xué)校編號:"); </p><p> scanf("%d",&ptrThis->schoolNum
93、); </p><p> if (ptrThis->schoolNum<=0||ptrThis->schoolNum>g_school.nTotalNmOfSch) { </p><p> printf("\n學(xué)校編號必須大于0小于等于%d",g_school.nTotalNmOfSch); </p
94、><p> err=_FALSE; </p><p><b> } </b></p><p><b> else </b></p><p><b> { </b></p><p> err=_TRUE; </p>
95、<p> } </p><p> } while(err==_FALSE); </p><p><b> /*名次*/ </b></p><p> ptrThis->score=i+1; </p><p> ptrThis->ptrNext=(pPos
96、ition)NULL; </p><p><b> } </b></p><p><b> } </b></p><p> /************************************************************************/ </p>
97、<p> /* 填充所有競賽項(xiàng)目結(jié)果信息 */ </p><p> /************************************************************************/ </p><p> void SetPositionForA
98、llSports() </p><p><b> { </b></p><p> int i=0; </p><p> for(i=0;i<G_SPORT.NTOTALNMOFFSPRT+G_SPORT.NTOTALNMOFMSPRT;I++) if system(?cls?); { } return *********
99、*************************************************************** * for(i="0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++)" i="0;" int break; ) sportNum void (schnum scanf(?%d?,&schnum);
100、 printf(?\n請輸入您想查詢的學(xué)校編號:?); return; printf(?\n沒有學(xué)校參加比賽?); (g_school.nTotalNmOfSch<="0)" *學(xué)校編號* schnum; GetScoreBySchool() 按學(xué)校打印成績 g_sport.sportInfoArray[i].scrInfo.power[score-1]; (int)-1; (i="=g_sport.
101、nTot</p><p><b> { </b></p><p> printf("\n學(xué)校編號必須大于0小于等于%d",g_school.nTotalNmOfSch); </p><p> return; </p><p><b> } </b><
102、/p><p> if(ptrHead==(pPosition)NULL) </p><p><b> { </b></p><p> printf("\n沒有比賽結(jié)果"); </p><p> return; </p><p><b> }
103、</b></p><p> ptrThis=ptrHead; </p><p> printf("\n學(xué)校編號:%d 校名:%s",schnum,g_school.schInfoArray[schnum-1].schoolName); </p><p> printf("\n\n 項(xiàng)目號
104、 項(xiàng)目名稱 名次 姓名 得分"); </p><p> printf("\n ---------- --------------- ---- ---------------- ----"); </p><p><b> do { </b></p><p> i
105、f (ptrThis->schoolNum==schnum) </p><p><b> { </b></p><p> printf("\n%5d",ptrThis->sportNum);/*項(xiàng)目號*/ </p><p> printf("%20s",GetSportNa
106、me(ptrThis->sportNum));/*項(xiàng)目名稱*/ </p><p> printf("%5d",ptrThis->score);/*名次*/ </p><p> printf("%20s",ptrThis->name);/*姓名*/ </p><p> printf("
107、;%5d",GetPower(ptrThis->sportNum,ptrThis->score)); </p><p><b> } </b></p><p> ptrThis=ptrThis->ptrNext; </p><p> } while(ptrThis!=(pPosition)NULL)
108、; </p><p><b> } </b></p><p> /************************************************************************/ </p><p> /* 生成報(bào)表
109、 */ </p><p> /************************************************************************/ </p><p> void GetReport() </p><p><b> { </b></p
110、><p> int i,j,manTotal=0,womTotal=0,Total=0;/*男子團(tuán)體總分,女子團(tuán)體總分,團(tuán)體總分*/ </p><p> if(ptrHead==(pPosition)NULL) </p><p><b> { </b></p><p> printf("\n沒有
111、比賽結(jié)果"); </p><p> return; </p><p><b> } </b></p><p> ptrThis=ptrHead; </p><p> printf("\n團(tuán)體總分報(bào)表:"); </p><p> pr
112、intf("\n\n學(xué)校編號 學(xué)校校名 男子團(tuán)體總分 女子團(tuán)體總分 團(tuán)體總分"); </p><p> printf("\n--------- ---------------- ------------- ----------- -----------"); </p><p> f
113、or(i=0;i<G_SCHOOL.NTOTALNMOFSCH;i++) { do ptrThis="ptrHead;" if(ptrThis- manTotal="0;womTotal=0;Total=0;">schoolNum==g_school.schInfoArray[i].SchoolNum)/*同一學(xué)校*/ </p><p><b>
114、 { </b></p><p> for(j=0;j<G_SPORT.NTOTALNMOFFSPRT+G_SPORT.NTOTALNMOFMSPRT;J++) if { (ptrThis->sportNum==g_sport.sportInfoArray[j].sportNum) {/*某一競賽項(xiàng)目*/ </p><p> if (g_sport.spo
115、rtInfoArray[j].sprtTyp==_MAN) { </p><p> manTotal+=g_sport.sportInfoArray[j].scrInfo.power[ptrThis->score-1]; </p><p><b> } </b></p><p><b> else{ <
116、;/b></p><p> womTotal+=g_sport.sportInfoArray[j].scrInfo.power[ptrThis->score-1]; </p><p> } </p><p><b> } </b></p><p>
117、;<b> } </b></p><p><b> } </b></p><p> ptrThis=ptrThis->ptrNext; </p><p> } while(ptrThis!=(pPosition)NULL); </p><p>
118、; Total+=manTotal+womTotal; </p><p> printf("\n%5d",g_school.schInfoArray[i].SchoolNum); </p><p> printf("%20s",g_school.schInfoArray[i].schoolName); </p><
119、;p> printf("%10d",manTotal); </p><p> printf("%15d",womTotal); </p><p> printf("%15d\n",Total); </p><p><b> } </b></
120、p><p><b> } </b></p><p> /************************************************************************/ </p><p> /* 打印競賽項(xiàng)目信息
121、 */ </p><p> /************************************************************************/ </p><p> void GetSportInfo() </p><p><b> { </b></p><
122、p> int i,j; </p><p> system("cls"); </p><p> printf("\n您輸入的比賽項(xiàng)目信息如下:"); </p><p> printf("\n----- -------- ------- -------"); </p>
123、<p> for(i=0;i<G_SPORT.NTOTALNMOFFSPRT+G_SPORT.NTOTALNMOFMSPRT;I++) if { } ************************************************************************ * for(i="0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmO
124、fMSprt;i++)" do i="0,j;" int (ptrThis- ptrThis="ptrHead;" void return; printf(?\n第%d個(gè)結(jié)點(diǎn):?,n++); printf(?\n沒有比賽結(jié)果?); if(ptrHead="=(pPosition)NULL)" n="0;" GetList() 打印名次鏈表信息 ge
125、tch(); 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><b> break; </b></p><p><b> }
126、 </b></p><p><b> } </b></p><p> if (i==g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt) { </p><p> return; </p><p><b> } </b>
127、;</p><p> printf("\n 項(xiàng)目編號:%d",ptrThis->sportNum); </p><p> for(j=0;j<G_SPORT.SPORTINFOARRAY[I].SCRINFO.TOTAL;J++) { } ptrThis="ptrThis-" 分值%d?,j+1,g_sport.sportInf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計(jì)報(bào)告—校際運(yùn)動(dòng)會(huì)管理系統(tǒng)
- c語言課程設(shè)計(jì)--校際運(yùn)動(dòng)會(huì)管理系統(tǒng)
- c語言課程設(shè)計(jì)---校際運(yùn)動(dòng)會(huì)管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告-校際運(yùn)動(dòng)會(huì)管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--- 校際運(yùn)動(dòng)會(huì)管理系統(tǒng)
- c語言課程程序設(shè)計(jì)——校際運(yùn)動(dòng)會(huì)管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告--校際運(yùn)動(dòng)會(huì)
- 校際運(yùn)動(dòng)會(huì)管理系統(tǒng)
- 運(yùn)動(dòng)會(huì)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)——校級運(yùn)動(dòng)會(huì)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)設(shè)計(jì)
- c語言課程設(shè)計(jì)--校運(yùn)會(huì)管理系統(tǒng)
- c語言課程設(shè)計(jì)--運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)
- 校運(yùn)動(dòng)會(huì)管理系統(tǒng)報(bào)告c語言含完整代碼)資料
- c語言課程設(shè)計(jì)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)----學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)
- 課程設(shè)計(jì)--學(xué)校田徑運(yùn)動(dòng)會(huì)管理系統(tǒng)實(shí)現(xiàn)與設(shè)計(jì)
- 開題報(bào)告_運(yùn)動(dòng)會(huì)管理系統(tǒng)
- c語言課程設(shè)計(jì)----運(yùn)動(dòng)會(huì)成績管理程序設(shè)計(jì)
- c語言課程設(shè)計(jì)報(bào)告(宿舍管理系統(tǒng))
評論
0/150
提交評論