版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 課程設(shè)計報告書專 業(yè):計算機科學(xué)與技術(shù) 課程設(shè)計名稱:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計題 目:xxx班 級:xxx學(xué)號:xxx姓名:xxx同 組 人 員: xxx指 導(dǎo) 老 師: 完 成 時 間:2012年2月17日摘要運動會成績查詢系統(tǒng)是運動會管理中的一個重要內(nèi)容,隨著時代的進步,參加運動會的運動員數(shù)量也不斷增加、項目也越來越多、運動會舉辦也越來越頻繁,對成績的管理要求也越來越高。如何管理好各單位、運動員的成績的信息,對運動會成績管理系統(tǒng)的要求也越來越高,所以必須要不斷地更新運動會成績管理系統(tǒng),才能滿足社會日益發(fā)展的需要。本文是采用vc+6.0作為前臺開發(fā)工具,旨在實現(xiàn)對現(xiàn)有的運動會成績數(shù)據(jù)庫存儲的基礎(chǔ)上
2、,提供信息咨詢,信息檢索,信息存取等服務(wù),在此論文中主要實現(xiàn)對存儲在數(shù)據(jù)庫中的數(shù)據(jù)表進行這些簡單的操作,為提高運動會成績查詢系統(tǒng)的效率提供了便利。關(guān)鍵詞:vc+6.0;運動會成績查詢;目錄目錄1第一章開發(fā)環(huán)境和開發(fā)工具11.1c/c+語言簡介11.2 開發(fā)背景11.3 開發(fā)環(huán)境1第二章 算法思想22.1 系統(tǒng)需求分析22.2 系統(tǒng)總體設(shè)計22.2.1 系統(tǒng)設(shè)計目標22.2.2 開發(fā)設(shè)計思想32.2.3 系統(tǒng)功能模塊設(shè)計42.3 算法思想描述4第三章算法實現(xiàn)63.1 數(shù)據(jù)結(jié)構(gòu)63.2 程序模塊63.3 各模塊之間的調(diào)用關(guān)系63.4 源程序代碼6第四章測試與分析144.1 測試數(shù)據(jù)選擇144.2
3、測試結(jié)果分析15總 結(jié)20心得體會21參考文獻22 第一章 開發(fā)環(huán)境和開發(fā)工具1.1 c/ c +語言簡介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語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。1.2 開發(fā)背景 隨著科學(xué)技術(shù)的不斷發(fā)展,計算機科學(xué)日漸成熟,
4、其強大的功能已為人們所深刻認識,它己進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。采用計算機進行信息化管理已成為衡量企業(yè)管理科學(xué)化和現(xiàn)代化的重要標志,而人事管理的全面自動化、信息化則是其中重要的組成部分。人事管理的好壞對于企業(yè)的決策者和管理者來說都至關(guān)重要,在很大程度上影響著企業(yè)的經(jīng)濟效益和社會效益。因此,本文所研究的人事管理信息系統(tǒng)具有一定的使用價值和現(xiàn)實意義。1.3 開發(fā)環(huán)境本文所采用的開發(fā)環(huán)境主要是基于c語言在microsoft visual c+平臺上開發(fā)的系統(tǒng),界面友好,功能強大,調(diào)試也很方便。這是微軟出的一個c語言集成開發(fā)環(huán)境(ide),主要有:vc+6.0等,分為企業(yè)版和學(xué)生版
5、等。對于初學(xué)者vc+6.0是比較容易上手的,但其對標準支持的不好可能使人養(yǎng)成不良的編程習慣。 第二章 算法思想 2.1 系統(tǒng)需求分析數(shù)據(jù)結(jié)構(gòu)不僅是一般程序設(shè)計(特別是非數(shù)值性程序設(shè)計)的基礎(chǔ),而且是設(shè)計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基。本實驗中,對不同的對象采取不同的存儲結(jié)構(gòu),對參賽學(xué)校采取鏈式結(jié)構(gòu),而對于參賽運動員采取一個結(jié)構(gòu)就可以了。本程序中主要用到線性表的一些基本操作,將各學(xué)校信息,運動員信息,項目信息都構(gòu)造成線性表。具體功能通過主函數(shù)分別調(diào)用各函數(shù)實現(xiàn)。參考本實驗的功能要求,本程序分為七個模塊:主函數(shù)、信息錄入函數(shù)、信息統(tǒng)計函數(shù)、信息查詢函數(shù),信息排序函數(shù)、存
6、盤函數(shù)、讀盤函數(shù)。信息錄入函數(shù)有包括學(xué)校信息錄入函數(shù)(包括學(xué)??倲?shù)、學(xué)校名稱等),競賽項目錄入函數(shù)(男子競賽項目總數(shù)、女子競賽項目總數(shù)、競賽項目名稱、取名次方法和各名次對應(yīng)的分值)、比賽結(jié)果錄入函數(shù)(各名次的學(xué)生信息等)。信息統(tǒng)計不再結(jié)果中顯示出來,為了信息查詢和排序輸出。信息查詢函數(shù)包括按學(xué)校編號查詢、按學(xué)校名稱查詢、按項目編號查詢?nèi)齻€子函數(shù)。信息排序函數(shù)包括按男子總分排序函數(shù)、按女子總分排序函數(shù)、按團體總分排序函數(shù)。2.2 系統(tǒng)總體設(shè)計2.2.1 系統(tǒng)設(shè)計目標 本文研究開發(fā)的運動會管理系統(tǒng)用于支持用于查詢各個學(xué)校在運動會中的成績。有幾種目標: 支持輸入各個項目的前三名或前五名的成績;能統(tǒng)計
7、各學(xué)??偡郑豢梢园磳W(xué)校編號或名稱、學(xué)校總分、男女團體總分排序輸出??梢园磳W(xué)校編號查詢學(xué)校某個項目的情況;可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。數(shù)據(jù)存入文件并能隨時查詢 輸入數(shù)據(jù)形式和范圍:可以輸入學(xué)校的名稱,運動項目的名稱;輸出形式有提示,各學(xué)校分數(shù)為整形;界面要求有合理的提示,每個功能可以設(shè)立菜單,根 據(jù)提示,可以完成相關(guān)的功能要求。存儲結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計,但是要求運動會的相關(guān)數(shù)據(jù)要存儲在數(shù)據(jù)文件中。測試數(shù)據(jù):要求使用全部合法數(shù)據(jù)、整體非法數(shù)據(jù)、局部非法數(shù)據(jù)。進行程序 測試,以保證程序的穩(wěn)定。2.2.2 開發(fā)設(shè)計思想 基于以上系統(tǒng)設(shè)計目標,本文在開發(fā)運動會管理系統(tǒng)時遵
8、循了以下開發(fā)設(shè)計思想: 采用現(xiàn)有的軟硬件環(huán)境及先進的管理系統(tǒng)開發(fā)方案,從而達到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。盡量達到操作過程中的直觀、方便、實用、安全等要求。系統(tǒng)采用模塊化程序設(shè)計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護人員補充、維護。系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)的添加、刪除、修改、備份等操作。2.2.3 系統(tǒng)功能模塊設(shè)計 本系統(tǒng)分為四個模塊:輸入成績模塊、計算成績模塊、分析排名模塊、查詢模塊。得到如圖2-1所示的系統(tǒng)功能模塊圖。輸入學(xué)校信息運動會查詢系統(tǒng)輸入成績計算成績分析排名查詢輸入項目信息計算男女團成績計算學(xué)??偝煽儗W(xué)校
9、排名男女團排名得分查詢項目查詢圖2-1系統(tǒng)功能模塊圖2.3 算法思想描述本實驗中,對不同的對象采取不同的存儲結(jié)構(gòu),對參賽學(xué)校采取鏈式結(jié)構(gòu),而對于參賽運動員采取一個結(jié)構(gòu)就可以了。本程序中主要用到線性表的一些基本操作,將各學(xué)校信息,運動員信息,項目信息都構(gòu)造成線性表。具體功能通過主函數(shù)分別調(diào)用各函數(shù)實現(xiàn)。參考本實驗的功能要求,本程序分為七個模塊:主函數(shù)、信息錄入函數(shù)、信息統(tǒng)計函數(shù)、信息查詢函數(shù),信息排序函數(shù)、存盤函數(shù)、讀盤函數(shù)。信息錄入函數(shù)有包括學(xué)校信息錄入函數(shù)(包括學(xué)??倲?shù)、學(xué)校名稱等),競賽項目錄入函數(shù)(男子競賽項目總數(shù)、女子競賽項目總數(shù)、競賽項目名稱、取名次方法和各名次對應(yīng)的分值)、比賽結(jié)果
10、錄入函數(shù)(各名次的學(xué)生信息等)。信息統(tǒng)計不再結(jié)果中顯示出來,為了信息查詢和排序輸出。信息查詢函數(shù)包括按學(xué)校編號查詢、按學(xué)校名稱查詢、按項目編號查詢?nèi)齻€子函數(shù)。信息排序函數(shù)包括按男子總分排序函數(shù)、按女子總分排序函數(shù)、按團體總分排序函數(shù)。第三章 算法實現(xiàn)3.1 數(shù)據(jù)結(jié)構(gòu)運動會管理系統(tǒng)是一個數(shù)據(jù)庫應(yīng)用系統(tǒng),各個學(xué)校的所有信息都保存在數(shù)據(jù)庫中。 3.2 程序模塊程序分為四個模塊:輸入成績模塊、計算成績模塊、分析排名模塊、查詢模塊。3.3 各模塊之間的調(diào)用關(guān)系l 輸入成績模塊:讓用戶輸入學(xué)校信息,比賽項目信息,比賽成績信息。l 計算成績模塊:計算用戶輸入的比賽成績,計算男團分數(shù)、男團分數(shù)、總分。l 分析
11、排名模塊:對學(xué)校的男團分、女團分和總分進行排名。l 查詢模塊:讓用戶查詢各學(xué)校成績,男團排名,女團排名,總排名和各項目的前幾名。l 模塊調(diào)用關(guān)系:計算成績模塊調(diào)用輸入成績模塊,分析排名模塊調(diào)用計算成績模塊,查詢模塊調(diào)用計算成績模塊、分析排名模塊。函數(shù) 函數(shù)功能 時間復(fù)雜度 void information 輸入信息建立系統(tǒng) o(n*n)void output 輸出信息 o(n*n)void inquiry 查詢信息 o(n*n)void main 輸入主界面 ,調(diào)用各個函數(shù) o(n*n)3.4 源程序代碼#include#include#include #include #define n 3
12、/學(xué)校數(shù)目 #define m 2/男子項目數(shù)目 #define w 1/女子項目數(shù)目#define null 0typedef struct int itemnum; /項目編號 int top; /取名次的數(shù)目 int range5; /名次 int mark5; /分數(shù)itemnode; /定義項目結(jié)點的類型typedef structint dai;int schoolname;int schoolnum; /學(xué)校編號 int score; /學(xué)校總分 int mscore; /男團體總分 int wscore; /女團體總分 itemnode cm+w; /項目數(shù)組headnode;
13、/定義頭結(jié)點類型headnode hn;/定義一個頭結(jié)點數(shù)組void inputinformation() /輸入信息,建立系統(tǒng)int i,j,k,s; for(i=0;in;i+) hi.score=0; hi.mscore=0; hi.wscore=0; /初始化頭結(jié)點 for(i=0;in;i+) printf(*學(xué)校名稱:); scanf(%s,&hi.schoolname);printf(*學(xué)校編號:); scanf(%d,&hi.schoolnum); /輸入頭結(jié)點信息 for(j=0;jm+w;j+) printf(*項目編號:); scanf(%d,&hi.cj.itemnum
14、); printf(*取前3名or前5名:); scanf(%d,&hi.cj.top); printf(*獲得幾個名次:); scanf(%d,&k); /輸入項目信息 for(s=0;s5;s+) hi.cj.ranges=0, hi.cj.marks=0; /初始化排名和分數(shù) for(s=0;sk;s+) printf(*名次:); scanf(%d,&hi.cj.ranges); /輸入所獲名次信息 if(hi.cj.top=3) switch(hi.cj.ranges) case 0: hi.cj.marks=0; break; case 1: hi.cj.marks=5; brea
15、k; case 2: hi.cj.marks=3; break; case 3: hi.cj.marks=2; break; else switch(hi.cj.ranges) case 0: hi.cj.marks=0; break; case 1: hi.cj.marks=7; break; case 2: hi.cj.marks=5; break; case 3: hi.cj.marks=3; break; case 4: hi.cj.marks=2; break; case 5: hi.cj.marks=1; break; hi.score=hi.score+hi.cj.marks;/
16、按取前三名還是取前五名分別記分 if(j=m-1)hi.mscore=hi.mscore+hi.cj.marks;/是男子項目則記到男子分數(shù)里面去 else hi.wscore=hi.wscore+hi.cj.marks;/是女子項目則記到女子項目里面去 printf(n); void output() /輸出函數(shù) int choice,i,j,k; int sign; do printf(*1.按學(xué)校編號輸出.*n); printf(*2.按學(xué)校名稱輸出.*n); printf(*3.按學(xué)??偡州敵?*n); printf(*4.按男團總分輸出.*n); printf(*5.按女團總分輸出.
17、*n); printf(nn* 請選擇編號*nn:); scanf(%d,&choice); switch(choice) case 1: printf(學(xué)校編號 學(xué)校名稱 學(xué)??偡?男團總分 女團總分n); for(i=0;in;i+) printf(%8d %8s %8d %8d %8dn,hi.schoolnum,hi.schoolname,hi.score,hi.mscore,hi.wscore); /按編號順序輸出 break; case 2: printf(學(xué)校名稱 學(xué)校編號 學(xué)??偡?男團總分 女團總分n); for(i=0;in;i+) printf(%8s %8d %8d %
18、8d %8dn,hi.schoolname,hi.schoolnum,hi.score,hi.mscore,hi.wscore); /按學(xué)校名稱輸出 break; case 3: printf(學(xué)校名次 學(xué)??偡?學(xué)校名稱 學(xué)校編號 男團總分 女團總分n); for(i=0;in;i+) hi.dai=hi.score; for(i=0;in;i+) for(j=0;jn-i;j+) if(hj.daihj+1.dai) k=hj.dai;hj.dai=hj+1.dai;hj+1.dai=k; for(i=0;in;i+) for(j=0;jn;j+) if(hj.score=hi.dai)
19、printf(第%d名 %12d %8s %8d %8d %8d n,i+1,hj.score,hj.schoolname,hj.schoolnum,hj.mscore,hj.wscore); /按學(xué)??偡州敵?break; case 4: printf(學(xué)校名次 男團總分 學(xué)校名稱 學(xué)校編號 學(xué)??偡?女團總分n); for(i=0;in;i+) hi.dai=hi.mscore; for(i=0;in;i+) for(j=0;jn-i;j+) if(hj.daihj+1.dai) k=hj.dai;hj.dai=hj+1.dai;hj+1.dai=k; for(i=0;in;i+) for
20、(j=0;jn;j+) if(hj.mscore=hi.dai) printf(第%d名 %12d %8s %8d %8d %8d n,i+1,hj.mscore,hj.schoolname,hj.schoolnum,hj.score,hj.wscore); /按男團總分輸出 break; case 5: printf(學(xué)校名次 女團總分 學(xué)校名稱 學(xué)校編號 學(xué)??偡?男團總分n); for(i=0;in;i+) hi.dai=hi.wscore; for(i=0;in;i+) for(j=0;jn-i;j+) if(hj.daihj+1.dai) k=hj.dai;hj.dai=hj+1.d
21、ai;hj+1.dai=k; for(i=0;in;i+) for(j=0;jn)printf(錯誤:這個學(xué)校沒有參加此次運動會!nnn); elseprintf(要查詢的項目編號:); scanf(%d,&j); if(jm+w|j=0) printf(此次運動會沒有這個項目nnn);/學(xué)校編號超出范圍,則輸出警告 else printf(這個項目取前 %d名,該學(xué)校的成績?nèi)缦?n, h0.cj-1.top); for(k=0;km+w|s=0)printf(此次運動會不包括這個項目.nnn);/項目編號超出范圍則輸出警告elseprintf(該項目取前 %d名,取得名次的學(xué)校n,h0.cs
22、-1.top);for(i=0; in;i+) for(j=0;j5;j+) if(hi.cs-1.rangej!=0) printf(學(xué)校編號:%d,名次:%dn,hi.schoolnum,hi.cs-1.rangej); /輸出該項目取得名次學(xué)校的成績 printf(nnn繼續(xù) 2,跳出 0n);scanf(%d,&i);printf(nnn);while(i=2); break;void main() int choice;printf(=歡迎使用=n); printf(nn*運動會分數(shù)統(tǒng)計系統(tǒng)*n); printf(nn*1.輸入信息*n);printf(*2.輸出信息*n);prin
23、tf(*3.查詢信息*n); printf(*4.退出系統(tǒng)*nnn);printf(=nn);printf(*請選擇要實現(xiàn)步驟的編號:nn);scanf(%d,&choice);switch(choice) case 1: inputinformation();main(); case 2: output();main(); case 3: inquiry();main(); case 4: exit(0); default: printf(輸入錯誤請重新輸入!); 第四章 分析和測試4.1:測試數(shù)據(jù)選擇學(xué)校:11代號:1項目 名次1 12 13 1學(xué)校:22代號:2項目 名次1 2 2 23
24、 2學(xué)校:33代號:3項目 名次1 32 33 3其中項目1、2為男子項目 項目3為女之項目。4.2 測試結(jié)果分析 圖1 界面 圖 2 輸入信息 圖 3 按學(xué)校編號輸出 圖 4 按學(xué)校名稱輸出 圖 5 按學(xué)??偡州敵?圖 6 按男團總分輸出 圖 7 按女團總分輸出 圖 9 查詢系統(tǒng)總 結(jié)在今后的工作、學(xué)習中我將認真總結(jié)經(jīng)驗教訓(xùn),努力使自己成為一名技術(shù)過硬、工作嚴謹、思維活躍的工程人員,為提高人們的生活質(zhì)量做出更大的貢獻。本文所述運動會查詢系統(tǒng)特色在于能輸入各個項目的前三名或前五名的成績,能統(tǒng)計各學(xué)校總分,可以按學(xué)校編號或名稱、學(xué)??偡帧⒛信畧F體總分排序輸出,可以按學(xué)校編號查詢學(xué)校某個項目的情況;可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校,數(shù)據(jù)存入文件并能隨時查詢。當然,這個運動會查詢系統(tǒng)也有很多不足之處,例如不能具體到個體,不能查詢各個學(xué)生的成績,存儲結(jié)構(gòu)不太完美,算法也不能說是最完美的。運動會
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025北京市茶葉購買合同范本
- 2025合法的勞務(wù)聘用合同樣本
- 沙盤定制合同
- 課題申報參考:老齡化應(yīng)對政策、生育支持政策、健康社會研究
- 課題申報參考:跨組織團隊成員間不對稱依賴關(guān)系與協(xié)作績效-基于資源依賴理論視角
- 課題申報參考:考慮生態(tài)補償?shù)目缃绛h(huán)境污染協(xié)同治理績效測度與政策優(yōu)化研究
- 2024年工業(yè)涂料水性色漿項目資金申請報告代可行性研究報告
- 跨區(qū)域、跨領(lǐng)域的學(xué)校合作項目策劃實踐
- 科技在寵物健康監(jiān)測中的應(yīng)用
- 2023年柴油資金籌措計劃書
- 完整版秸稈炭化成型綜合利用項目可行性研究報告
- 油氣行業(yè)人才需求預(yù)測-洞察分析
- 《數(shù)據(jù)采集技術(shù)》課件-Scrapy 框架的基本操作
- 2025年河北省單招語文模擬測試二(原卷版)
- 高一化學(xué)《活潑的金屬單質(zhì)-鈉》分層練習含答案解析
- DB34∕T 4010-2021 水利工程外觀質(zhì)量評定規(guī)程
- 2024年內(nèi)蒙古中考英語試卷五套合卷附答案
- 2024年電工(高級)證考試題庫及答案
- 農(nóng)產(chǎn)品質(zhì)量評估與分級
- 儲能電站火災(zāi)應(yīng)急預(yù)案演練
- 人教版(新插圖)二年級下冊數(shù)學(xué) 第4課時用“進一法”和“去尾法”解決簡單的實際問題 教學(xué)課件
評論
0/150
提交評論