運動會分數(shù)統(tǒng)計系統(tǒng)課程設計報告.doc
《運動會分數(shù)統(tǒng)計系統(tǒng)課程設計報告.doc》由會員分享,可在線閱讀,更多相關(guān)《運動會分數(shù)統(tǒng)計系統(tǒng)課程設計報告.doc(28頁珍藏版)》請在裝配圖網(wǎng)上搜索。
運動會分數(shù)統(tǒng)計系統(tǒng) 課 程 設 計 報 告 數(shù) 據(jù) 結(jié) 構(gòu) 院系: 專業(yè): 班級: 學號: 姓名: 教師: 時間: 一、問題描述 1、功能 任務:參加運動會有n個學校,學校編號為1……n。比賽分成m個男子項目,和w個女子項目。項目編號為男子1……m,女子m+1……m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學生自己設定。(m<=20,n<=20),按要求實現(xiàn)相應的數(shù)據(jù)輸入、查詢、計分等功能。 2、數(shù)據(jù) 建議輸入學校的名稱,運動項目的名稱等,其余信息學生自行設計; 輸出形式:有合理的提示,各學校分數(shù)為整形; 數(shù)據(jù)的存儲結(jié)構(gòu)自行設計。 建議運動會的相關(guān)數(shù)據(jù)要存儲在數(shù)據(jù)文件中。 3、操作 1)可以輸入各個項目的前三名或前五名的成績; 2)能統(tǒng)計各學??偡郑? 3)可以按學校編號或名稱、學??偡?、男女團體總分排序輸出; 4)可以按學校編號查詢學校某個項目的情況;可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W校。 4、要求 提供系統(tǒng)菜單,界面友好,提示信息完整。 二、系統(tǒng)分析及設計 1、需求分析 根據(jù)運動會分數(shù)統(tǒng)計系統(tǒng)的問題分析及設計要求,可以將此系統(tǒng)分為四個模塊:信息統(tǒng)計模塊、信息輸出模塊、信息查詢模塊、信息調(diào)用模塊。其系統(tǒng)功能結(jié)構(gòu)圖如圖所示。 (1)、信息統(tǒng)計模塊實現(xiàn)信息的輸入、統(tǒng)計、存檔。 (2)、信息輸出模塊實現(xiàn)信息的輸出。 (3)、信息查詢模塊實現(xiàn)信息的查詢。 (4)、信息調(diào)用模塊實現(xiàn)信息的調(diào)用,即從文件中讀出信息并輸出。 信息輸入 運動會分數(shù)統(tǒng)計系統(tǒng) 信息統(tǒng)計模塊 信息輸出模塊 信息查詢模塊 信息調(diào)用模塊 分數(shù)統(tǒng)計 信息存檔 2、概要設計 此系統(tǒng)采用順序存儲結(jié)構(gòu)存儲,定義了一個結(jié)構(gòu)體數(shù)組存放參賽學校的信息。之所以采用順序存儲結(jié)構(gòu),是因為用它來實現(xiàn)信息的存儲、查詢比較方便,節(jié)省時間,效率高,而且也方便把信息寫入文件以及讀取文件。 (1)、結(jié)構(gòu)體定義如下: ①、定義運動項目數(shù)據(jù)類型,用于存放運動項目的信息,包括項目名稱、項目編號、用戶自己定義的取前3名還是前5名的積分、名次、分數(shù)。 typedef struct { char proname[10]; //項目名稱 int pronum; //項目編號 int top; //取前3名或前5名積分,由用戶自己定義 int range[5]; //名次 int mark[5]; //分數(shù) }Pronode; //項目結(jié)點類型定義 ②、定義學校數(shù)據(jù)類型,用于存放參賽學校的信息,包括學校名稱、學校編號、學??偡帧⒛凶訄F體總分、女子團體總分以及項目數(shù)組。 typedef struct { char schname[20]; //學校名稱 int schnum; //學校編號 int score; //總分 int Mscore; //男子團體總分 int Wscore; //女子團體總分 Pronode a[M+W]; //項目數(shù)組 }Schnode; //學校結(jié)點類型定義 ③、定義一個學校結(jié)點類型的結(jié)構(gòu)體數(shù)組Schnode s[N]。采用數(shù)組結(jié)構(gòu)有利于隨機存儲和查詢。 (2)、信息統(tǒng)計模塊的算法設計說明 輸入?yún)①悓W校比賽成績的信息時,采用三重循環(huán),第一重循環(huán)控制參賽學校的個數(shù),第二重循環(huán)控制各參賽學校的參賽項目個數(shù),第三重循環(huán)控制各參賽學校的各參賽項目所獲得的名次個數(shù),并依次輸入相應信息,根據(jù)所輸入的名次得出相對應的分數(shù)。然后分別統(tǒng)計出各學校的總分、男子團體總分和女子團體總分。調(diào)用文件數(shù)據(jù)塊寫函數(shù)fwrite將信息寫入文件,方便以后調(diào)用。 (3)、信息輸出模塊的算法設計說明 根據(jù)設計要求,實現(xiàn)按學校名稱、學校總分、男子團體總分、女子團體總分輸出。因此選用switch語句實現(xiàn)此功能。case 1按學校名稱輸出時,直接取出數(shù)據(jù)進行輸出;case 2按學??偡州敵鰰r,采用冒泡排序法進行排序然后按分數(shù)由高到低輸出;case 3和case 4也均采用冒泡排序法進行排序最后按分數(shù)由高到低輸出。 其流程圖如圖所示: 開始 總分顯示菜單界面 按學校名稱輸出 按學??偡州敵? 按男團總分輸出 按女團總分輸出 退出返回主菜單 直接退出本系統(tǒng) 主菜單 結(jié)束 輸入功能序號 (4)、信息查詢模塊的算法設計說明 根據(jù)設計要求,提供兩種不同的查詢方式:按學校編號查詢和按項目編號查詢。因此也采用switch語句實現(xiàn)此功能。case 1按學校編號查詢,提示輸入要查詢的學校編號以及要查詢的項目編號,直接取出該學校該項目的信息進行輸出。case 2按項目編號查詢,提示輸入要查詢的項目編號,輸出該項目取得名次的學校的信息。 其流程圖如圖所示: 開始 信息查詢界面 選擇查詢方式 按學校編號查詢 按項目編號查詢 退出返回主菜單 直接退出本系統(tǒng) 主菜單 結(jié)束 (5)、信息調(diào)用模塊的算法設計說明 信息調(diào)用,即讀取保存在文件里的信息并輸出。由于采用的是數(shù)組存儲,可以很方便的一下把文件里的信息全部讀取出來,再利用三重循環(huán)依次把各學校各項目所取得的成績輸出。 3、詳細設計 (1)、信息輸入及分數(shù)統(tǒng)計功能 void InfoInput()是信息輸入及分數(shù)統(tǒng)計的函數(shù),在輸入信息的同時進行分數(shù)統(tǒng)計,可以輸入各學校各項目前3名或前5名的成績。結(jié)果取前3名還是前5名由用戶自己定。用switch 語句將前3名的成績賦值為5、3、2,前5名的成績賦值為7、5、3、2、1,未取得的成績則賦為0。并統(tǒng)計總分、男子團體總分和女子團體總分。 其主要功能代碼如下: for(m=0;m- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 運動會 分數(shù) 統(tǒng)計 系統(tǒng) 課程設計 報告
鏈接地址:http://www.hcyjhs8.com/p-6526649.html