版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報(bào)告書</b></p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 課程設(shè)計(jì)名稱:《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》</p><p> 題 目:xxx</p><p> 班 級:xxx</p><p> 學(xué)
2、 號:xxx</p><p> 姓 名:xxx</p><p> 同 組 人 員: xxx</p><p> 指 導(dǎo) 老 師: </p><p> 完 成 時 間:2012年2月17日</p><p><b> 摘要</b></p><p&g
3、t; 運(yùn)動會成績查詢系統(tǒng)是運(yùn)動會管理中的一個重要內(nèi)容,隨著時代的進(jìn)步,參加運(yùn)動會的運(yùn)動員數(shù)量也不斷增加、項(xiàng)目也越來越多、運(yùn)動會舉辦也越來越頻繁,對成績的管理要求也越來越高。如何管理好各單位、運(yùn)動員的成績的信息,對運(yùn)動會成績管理系統(tǒng)的要求也越來越高,所以必須要不斷地更新運(yùn)動會成績管理系統(tǒng),才能滿足社會日益發(fā)展的需要。</p><p> 本文是采用VC++6.0作為前臺開發(fā)工具,旨在實(shí)現(xiàn)對現(xiàn)有的運(yùn)動會成績數(shù)據(jù)庫存
4、儲的基礎(chǔ)上,提供信息咨詢,信息檢索,信息存取等服務(wù),在此論文中主要實(shí)現(xiàn)對存儲在數(shù)據(jù)庫中的數(shù)據(jù)表進(jìn)行這些簡單的操作,為提高運(yùn)動會成績查詢系統(tǒng)的效率提供了便利。</p><p> 關(guān)鍵詞:VC++6.0;運(yùn)動會成績查詢;</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è)計(jì)2</p><p> 2.2.1 系統(tǒng)設(shè)計(jì)目標(biāo)2</p><p> 2.2.2 開發(fā)設(shè)計(jì)思想3</p><p> 2.2.3 系統(tǒng)功能模塊設(shè)計(jì)4</p><p> 2.3 算法思想描述4</p><p> 第三章算法實(shí)現(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> 參考文獻(xiàn)22</b></p><p> 第一章 開發(fā)環(huán)境和開發(fā)工具</p><p> C/ C ++語
9、言簡介</p><p> C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它由美國貝爾研究所的D.M.Ritchie于1972年推出。1978后,C語言已先后被移植到大、中、小及微型機(jī)上。它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語
10、言,適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。</p><p><b> 1.2 開發(fā)背景</b></p><p> 隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們所深刻認(rèn)識,它己進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。采用計(jì)算機(jī)進(jìn)行信息化管理已成為衡量企業(yè)管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,而人事管理的全面自動化、信息化則是其中重要的組成部分。
11、人事管理的好壞對于企業(yè)的決策者和管理者來說都至關(guān)重要,在很大程度上影響著企業(yè)的經(jīng)濟(jì)效益和社會效益。因此,本文所研究的人事管理信息系統(tǒng)具有一定的使用價值和現(xiàn)實(shí)意義。</p><p><b> 1.3 開發(fā)環(huán)境</b></p><p> 本文所采用的開發(fā)環(huán)境主要是基于C語言在Microsoft Visual C++平臺上開發(fā)的系統(tǒng),界面友好,功能強(qiáng)大,調(diào)試也很方便。這
12、是微軟出的一個C語言集成開發(fā)環(huán)境(IDE),主要有:VC++6.0等,分為企業(yè)版和學(xué)生版等。對于初學(xué)者VC++6.0是比較容易上手的,但其對標(biāo)準(zhǔn)支持的不好可能使人養(yǎng)成不良的編程習(xí)慣。</p><p><b> 第二章 算法思想</b></p><p> 2.1 系統(tǒng)需求分析</p><p> ●數(shù)據(jù)結(jié)構(gòu)不僅是一般程序設(shè)計(jì)(特別是非數(shù)值性
13、程序設(shè)計(jì))的基礎(chǔ),而且是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基。</p><p> ●本實(shí)驗(yàn)中,對不同的對象采取不同的存儲結(jié)構(gòu),對參賽學(xué)校采取鏈?zhǔn)浇Y(jié)構(gòu),而對于參賽運(yùn)動員采取一個結(jié)構(gòu)就可以了。本程序中主要用到線性表的一些基本操作,將各學(xué)校信息,運(yùn)動員信息,項(xiàng)目信息都構(gòu)造成線性表。具體功能通過主函數(shù)分別調(diào)用各函數(shù)實(shí)現(xiàn)。</p><p> ●參考本實(shí)驗(yàn)的功能要求,本程
14、序分為七個模塊:主函數(shù)、信息錄入函數(shù)、信息統(tǒng)計(jì)函數(shù)、信息查詢函數(shù),信息排序函數(shù)、存盤函數(shù)、讀盤函數(shù)。</p><p> ●信息錄入函數(shù)有包括學(xué)校信息錄入函數(shù)(包括學(xué)??倲?shù)、學(xué)校名稱等),競賽項(xiàng)目錄入函數(shù)(男子競賽項(xiàng)目總數(shù)、女子競賽項(xiàng)目總數(shù)、競賽項(xiàng)目名稱、取名次方法和各名次對應(yīng)的分值)、比賽結(jié)果錄入函數(shù)(各名次的學(xué)生信息等)。</p><p> ●信息統(tǒng)計(jì)不再結(jié)果中顯示出來,為了信息查詢
15、和排序輸出。</p><p> ●信息查詢函數(shù)包括按學(xué)校編號查詢、按學(xué)校名稱查詢、按項(xiàng)目編號查詢?nèi)齻€子函數(shù)。</p><p> ●信息排序函數(shù)包括按男子總分排序函數(shù)、按女子總分排序函數(shù)、按團(tuán)體總分排序函數(shù)。</p><p> 2.2 系統(tǒng)總體設(shè)計(jì)</p><p> 2.2.1 系統(tǒng)設(shè)計(jì)目標(biāo)</p><p>
16、本文研究開發(fā)的運(yùn)動會管理系統(tǒng)用于支持用于查詢各個學(xué)校在運(yùn)動會中的成績。有幾種目標(biāo):</p><p> ●支持輸入各個項(xiàng)目的前三名或前五名的成績;</p><p> ●能統(tǒng)計(jì)各學(xué)??偡?;</p><p> ●可以按學(xué)校編號或名稱、學(xué)校總分、男女團(tuán)體總分排序輸出。</p><p> ●可以按學(xué)校編號查詢學(xué)校某個項(xiàng)目的情況;可以按項(xiàng)目編號查
17、詢?nèi)〉们叭蚯拔迕膶W(xué)校。</p><p> ●數(shù)據(jù)存入文件并能隨時查詢 </p><p> 輸入數(shù)據(jù)形式和范圍:可以輸入學(xué)校的名稱,運(yùn)動項(xiàng)目的名稱;輸出形式有提示,各學(xué)校分?jǐn)?shù)為整形;界面要求有合理的提示,每個功能可以設(shè)立菜單,根 據(jù)提示,可以完成相關(guān)的功能要求。</p><p> ●存儲結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計(jì),但是要求運(yùn)動會的相關(guān)數(shù)據(jù)要存
18、儲在數(shù)據(jù)文件中。</p><p> ●測試數(shù)據(jù):要求使用全部合法數(shù)據(jù)、整體非法數(shù)據(jù)、局部非法數(shù)據(jù)。進(jìn)行程序 測試,以保證程序的穩(wěn)定。</p><p> 2.2.2 開發(fā)設(shè)計(jì)思想</p><p> 基于以上系統(tǒng)設(shè)計(jì)目標(biāo),本文在開發(fā)運(yùn)動會管理系統(tǒng)時遵循了以下開發(fā)設(shè)計(jì)思想:</p><p> ●采用現(xiàn)有的軟硬件環(huán)境及先進(jìn)的管理系統(tǒng)開發(fā)方案,
19、從而達(dá)到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。</p><p> ●盡量達(dá)到操作過程中的直觀、方便、實(shí)用、安全等要求。</p><p> ●系統(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護(hù)人員補(bǔ)充、維護(hù)。</p><p> ●系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護(hù)功能,及時根據(jù)用戶需求進(jìn)行數(shù)據(jù)的添加、刪除、修改、備份等操作。&
20、lt;/p><p> 2.2.3 系統(tǒng)功能模塊設(shè)計(jì)</p><p> 本系統(tǒng)分為四個模塊:輸入成績模塊、計(jì)算成績模塊、分析排名模塊、查詢模塊。得到如圖2-1所示的系統(tǒng)功能模塊圖。</p><p> 圖2-1系統(tǒng)功能模塊圖</p><p> 2.3 算法思想描述</p><p> ●本實(shí)驗(yàn)中,對不同的對象采取不同的
21、存儲結(jié)構(gòu),對參賽學(xué)校采取鏈?zhǔn)浇Y(jié)構(gòu),而對于參賽運(yùn)動員采取一個結(jié)構(gòu)就可以了。本程序中主要用到線性表的一些基本操作,將各學(xué)校信息,運(yùn)動員信息,項(xiàng)目信息都構(gòu)造成線性表。具體功能通過主函數(shù)分別調(diào)用各函數(shù)實(shí)現(xiàn)。</p><p> ●參考本實(shí)驗(yàn)的功能要求,本程序分為七個模塊:主函數(shù)、信息錄入函數(shù)、信息統(tǒng)計(jì)函數(shù)、信息查詢函數(shù),信息排序函數(shù)、存盤函數(shù)、讀盤函數(shù)。</p><p> ●信息錄入函數(shù)有包括學(xué)
22、校信息錄入函數(shù)(包括學(xué)??倲?shù)、學(xué)校名稱等),競賽項(xiàng)目錄入函數(shù)(男子競賽項(xiàng)目總數(shù)、女子競賽項(xiàng)目總數(shù)、競賽項(xiàng)目名稱、取名次方法和各名次對應(yīng)的分值)、比賽結(jié)果錄入函數(shù)(各名次的學(xué)生信息等)。</p><p> ●信息統(tǒng)計(jì)不再結(jié)果中顯示出來,為了信息查詢和排序輸出。</p><p> ●信息查詢函數(shù)包括按學(xué)校編號查詢、按學(xué)校名稱查詢、按項(xiàng)目編號查詢?nèi)齻€子函數(shù)。</p><p
23、> ●信息排序函數(shù)包括按男子總分排序函數(shù)、按女子總分排序函數(shù)、按團(tuán)體總分排序函數(shù)。</p><p><b> 算法實(shí)現(xiàn)</b></p><p><b> 3.1 數(shù)據(jù)結(jié)構(gòu)</b></p><p> 運(yùn)動會管理系統(tǒng)是一個數(shù)據(jù)庫應(yīng)用系統(tǒng),各個學(xué)校的所有信息都保存在數(shù)據(jù)庫中。</p><p>
24、;<b> 3.2 程序模塊</b></p><p> 程序分為四個模塊:輸入成績模塊、計(jì)算成績模塊、分析排名模塊、查詢模塊。</p><p> 3.3 各模塊之間的調(diào)用關(guān)系</p><p> 輸入成績模塊:讓用戶輸入學(xué)校信息,比賽項(xiàng)目信息,比賽成績信息。</p><p> 計(jì)算成績模塊:計(jì)算用戶輸入的比賽成績
25、,計(jì)算男團(tuán)分?jǐn)?shù)、男團(tuán)分?jǐn)?shù)、總分。</p><p> 分析排名模塊:對學(xué)校的男團(tuán)分、女團(tuán)分和總分進(jìn)行排名。</p><p> 查詢模塊:讓用戶查詢各學(xué)校成績,男團(tuán)排名,女團(tuán)排名,總排名和各項(xiàng)目的前幾名。</p><p> 模塊調(diào)用關(guān)系:計(jì)算成績模塊調(diào)用輸入成績模塊,分析排名模塊調(diào)用計(jì)算成績模塊,查詢模塊調(diào)用計(jì)算成績模塊、分析排名模塊。</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//學(xué)校數(shù)目 </p><p> #define m 2//男子項(xiàng)目數(shù)目 </p><p> #define w 1//女子項(xiàng)目數(shù)目</p><p> #define null 0</p><p> typedef struct</p><p><b> { </b&
30、gt;</p><p> int itemnum; //項(xiàng)目編號</p><p> int top; //取名次的數(shù)目</p><p> int range[5]; //名次</p><p> int mark[5]; //分?jǐn)?shù)</p><p> }itemnode; //定義項(xiàng)目結(jié)點(diǎn)的類型<
31、;/p><p> typedef struct</p><p><b> {</b></p><p><b> int dai;</b></p><p> int schoolname;</p><p> int schoolnum; //學(xué)校編號</p>
32、;<p> int score; //學(xué)??偡?lt;/p><p> int mscore; //男團(tuán)體總分</p><p> int wscore; //女團(tuán)體總分</p><p> itemnode c[m+w]; //項(xiàng)目數(shù)組</p><p> }headnode;//定義頭結(jié)點(diǎn)類型</p&g
33、t;<p> headnode h[n];//定義一個頭結(jié)點(diǎn)數(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é)點(diǎn)</p><p> for(i=0;i<n;i++)</p><p><b> { </b></p><p> printf("*****學(xué)校名稱:");</p><p> scanf("%s",&h[i].schoolname);</
36、p><p> printf("*****學(xué)校編號:");</p><p> scanf("%d",&h[i].schoolnum); //輸入頭結(jié)點(diǎn)信息</p><p> for(j=0;j<m+w;j++)</p><p><b> { <
37、;/b></p><p> printf("*****項(xiàng)目編號:");</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); //輸入項(xiàng)目信息</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; //初始化排名和分?jǐn)?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> //是男子項(xiàng)目則記到男子分?jǐn)?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> //是女子項(xiàng)目則記到女子項(xiàng)目里面去</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.按學(xué)校編號輸出.*****************
49、**\n");</p><p> printf("*******************2.按學(xué)校名稱輸出.*******************\n");</p><p> printf("*******************3.按學(xué)??偡州敵?*******************\n");</p><p>
50、; printf("*******************4.按男團(tuán)總分輸出.*******************\n");</p><p> printf("*******************5.按女團(tuán)總分輸出.*******************\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("學(xué)校編號 學(xué)校名稱 學(xué)??偡?男團(tuán)總分 女團(tuán)總分\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("學(xué)校名稱 學(xué)校編號 學(xué)??偡?男團(tuán)總分 女團(tuán)總分\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> } //按學(xué)校名稱輸出</p><p> break; </p><p> case
56、3: </p><p> printf("學(xué)校名次 學(xué)??偡?學(xué)校名稱 學(xué)校編號 男團(tuán)總分 女團(tuán)總分\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> //按學(xué)??偡州敵?lt;/b></p><p><b> break;</b></p&g
61、t;<p> case 4: </p><p> printf("學(xué)校名次 男團(tuán)總分 學(xué)校名稱 學(xué)校編號 學(xué)??偡?女團(tuán)總分\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、男團(tuán)總分輸出</b></p><p><b> break;</b></p><p> case 5: </p><p> printf("學(xué)校名次 女團(tuán)總分 學(xué)校名稱 學(xué)校編號 學(xué)校總分 男團(tuán)總分\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; //按女團(tuán)總分輸出</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:按學(xué)校編號查詢\n");</p>
72、;<p> printf("\n*****2:按項(xiàng)目編號查詢\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("要查詢的學(xué)校編號:");</p><p> scanf("%d",&i);</p><p><b> if(i>n)</b></p><p> printf("錯誤:這個學(xué)校沒有參加此次運(yùn)動會!\n\n\n");</p><p>
75、;<b> else</b></p><p><b> {</b></p><p> printf("要查詢的項(xiàng)目編號:");</p><p> scanf("%d",&j);</p><p> if(j>m+w||j==0)</
76、p><p> printf("此次運(yùn)動會沒有這個項(xiàng)目\n\n\n");</p><p> //學(xué)校編號超出范圍,則輸出警告</p><p><b> else</b></p><p><b> { </b></p><p> printf(&quo
77、t;這個項(xiàng)目取前 %d名,該學(xué)校的成績?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> //輸出要查詢學(xué)校項(xiàng)目的成績</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("要查詢的項(xiàng)目編號:");</p><p> scanf("%d",&s);</p><
81、p> if(s>m+w||s==0)</p><p> printf("此次運(yùn)動會不包括這個項(xiàng)目.\n\n\n");</p><p> //項(xiàng)目編號超出范圍則輸出警告</p><p><b> else</b></p><p><b> {</b></
82、p><p> printf("該項(xiàng)目取前 %d名,取得名次的學(xué)校\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("學(xué)校編號:%d,名次:%d\n",h[i].schoolnum,</p><p> h[i].c[s-1].range[j]);</p><p> } //輸出該項(xiàng)目取得名次學(xué)校的成績</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*****************運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)系統(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、*****請選擇要實(shí)現(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> 學(xué)校:11</b></p><p><b>
93、 代號:1</b></p><p><b> 項(xiàng)目 名次</b></p><p> 1 1</p><p> 2 1</p><p> 3 1</p><p><b> 學(xué)校:22</b></p>
94、;<p><b> 代號:2</b></p><p><b> 項(xiàng)目 名次</b></p><p> 1 2 </p><p><b> 2 2</b></p><p><b> 3 2</b>&
95、lt;/p><p><b> 學(xué)校:33</b></p><p><b> 代號:3</b></p><p><b> 項(xiàng)目 名次</b></p><p><b> 1 3</b></p><p><b>
96、; 2 3</b></p><p><b> 3 3</b></p><p> 其中項(xiàng)目1、2為男子項(xiàng)目</p><p><b> 項(xiàng)目3為女之項(xiàng)目。</b></p><p> 4.2 測試結(jié)果分析</p><p><b>
97、 圖1 界面</b></p><p><b> 圖 2 輸入信息</b></p><p> 圖 3 按學(xué)校編號輸出</p><p> 圖 4 按學(xué)校名稱輸出</p><p> 圖 5 按學(xué)??偡州敵?lt;/p><p> 圖 6 按男團(tuán)總分輸出</p>
98、<p> 圖 7 按女團(tuán)總分輸出</p><p> 圖 9 查詢系統(tǒng)</p><p><b> 總 結(jié)</b></p><p> 在今后的工作、學(xué)習(xí)中我將認(rèn)真總結(jié)經(jīng)驗(yàn)教訓(xùn),努力使自己成為一名技術(shù)過硬、工作嚴(yán)謹(jǐn)、思維活躍的工程人員,為提高人們的生活質(zhì)量做出更大的貢獻(xiàn)。</p><p>
99、; 本文所述運(yùn)動會查詢系統(tǒng)特色在于能輸入各個項(xiàng)目的前三名或前五名的成績,能統(tǒng)計(jì)各學(xué)??偡?,可以按學(xué)校編號或名稱、學(xué)校總分、男女團(tuán)體總分排序輸出,可以按學(xué)校編號查詢學(xué)校某個項(xiàng)目的情況;可以按項(xiàng)目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校,數(shù)據(jù)存入文件并能隨時查詢。</p><p> 當(dāng)然,這個運(yùn)動會查詢系統(tǒng)也有很多不足之處,例如不能具體到個體,不能查詢各個學(xué)生的成績,存儲結(jié)構(gòu)不太完美,算法也不能說是最完美的。運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
100、系統(tǒng),時間和空間復(fù)雜度都比較復(fù)雜,運(yùn)動會在調(diào)試的時候出現(xiàn)的問題最多,頭文件就有很多問題,因?yàn)橛胹tdio.h又有stdlib.b,所以問題比較多,編程過程中,文件頭不能混合使用,運(yùn)動會涉及到文件的輸入輸出,這里也碰到很多問題,首先是文件不能正常的讀出,以及一些格式的錯誤,最后也得到解決。</p><p><b> 心得體會</b></p><p> 因?yàn)樵诶碚搶W(xué)習(xí)
101、中沒有好好的掌握,現(xiàn)在要獨(dú)立完成一個較復(fù)雜的程序編寫,確實(shí)有困難。只有通過和同學(xué)一起努力,借助于網(wǎng)上資料,圖書館資料,才實(shí)現(xiàn)了這次課程設(shè)計(jì)。</p><p> 通過這次課程設(shè)計(jì),我明白了很多,知識是通過自己積累的來的,即使別人把程序編好,可是自己肚子里沒知識,在研究別人的程序時候很吃力,問問這個同學(xué),問問那個同學(xué),感覺到好別人還是有一定差距的,誰然都是借鑒別人的程序,可有的同學(xué)研究之后,能夠改出自己的程序,這就
102、是水平,自己不肯動手動腦,感覺即使弄出來一個也不應(yīng)比別人的好,這次課程設(shè)計(jì)暴露出一個最大的問題——不肯思考。</p><p> 問題本身并不是很難,難的事如何克服為難心理,只要你下定決心一定能行,另外,本次課程設(shè)計(jì)還暴露出另外一個問題,那就是不能很好地利用現(xiàn)有的資源。比如說,當(dāng)問題出現(xiàn)以后第一時間應(yīng)該去的是學(xué)校的圖書館,那里面有我們需要的一切資料,應(yīng)該學(xué)找去查找相關(guān)論題,看看有沒有別人做過類似的題目,不然自己最
103、后做出來的可能別人已經(jīng)做過,會造成很大的損失?,F(xiàn)在是二十一世紀(jì),是屬于我們計(jì)算機(jī)的,作為一名計(jì)算機(jī)系的學(xué)生會有很大的機(jī)遇和挑戰(zhàn),所以今后我必需扎實(shí)基礎(chǔ)理論、認(rèn)真思考,而且要踐行我的承諾,一步一個腳印的走下去,才可以達(dá)到我預(yù)期的彼岸!學(xué)校圖書館是個好地方,以后要好好的利用,只要肯去攀登!只要把自己逼上絕路,自己才會去思考,才會成功??!</p><p><b> 參考文獻(xiàn)</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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于c++運(yùn)動會成績管理系統(tǒng)實(shí)踐報(bào)告
- java課程設(shè)計(jì)--運(yùn)動會成績管理系統(tǒng)
- c語言課程設(shè)計(jì)----運(yùn)動會成績管理程序設(shè)計(jì)
- c++課程設(shè)計(jì)——校級運(yùn)動會管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)校運(yùn)動會管理系統(tǒng)設(shè)計(jì)
- 運(yùn)動會成績管理系統(tǒng)
- c++課程設(shè)計(jì)--簡單成績管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--成績管理系統(tǒng)
- c++課程設(shè)計(jì)----學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)----學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)學(xué)生學(xué)籍成績管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)習(xí)成績管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
評論
0/150
提交評論