【正文】
.................................................................................................. 14 附錄 1— 用戶手冊(cè) ..................................................................................................................... 15 附錄 2— 源程序 ......................................................................................................................... 19 運(yùn)功會(huì)成績(jī)管理 程序設(shè)計(jì) 2 摘要 運(yùn)動(dòng)會(huì)是一個(gè)全民健身的活動(dòng),在運(yùn)動(dòng)會(huì)里可以提高人們的身體素質(zhì),培養(yǎng)人們的素養(yǎng)。在參加運(yùn)動(dòng)會(huì)的過(guò)程中我們可以看到激情和友情的碰撞,人們用自己的實(shí)力來(lái) 贏得第一。 開(kāi)發(fā)本系統(tǒng)是為了更方便,在運(yùn)動(dòng)會(huì)中做比賽數(shù)據(jù)的記錄,方便記錄比賽成績(jī)。 本 系統(tǒng)使用 C語(yǔ)言作為開(kāi)發(fā) 語(yǔ)言 。實(shí)現(xiàn)了 對(duì) 運(yùn)動(dòng)會(huì) 的結(jié)果提示以及對(duì) 成績(jī) 的儲(chǔ)存 和對(duì)成績(jī)的排名 。 本文從分析課題的題目背景、題目意義、題目要求等出發(fā), 分別從需求分析、總體設(shè)計(jì)、詳 細(xì)設(shè)計(jì)、測(cè)試等各個(gè)方面詳細(xì)介紹了系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,最后對(duì)系統(tǒng) 的完成情況進(jìn)行了總結(jié)。 關(guān)鍵詞: C語(yǔ)言 ; 運(yùn)動(dòng)會(huì) ; 信息管理 運(yùn)動(dòng)會(huì)成績(jī)管理程序設(shè)計(jì)的開(kāi)發(fā)是為了方便記錄比賽成績(jī),運(yùn)動(dòng)員的狀況和成績(jī),對(duì)比賽成績(jī)進(jìn)行排名。這個(gè)系統(tǒng)以快捷,簡(jiǎn)便為原則, 更 加方便了對(duì)運(yùn)動(dòng)會(huì)成績(jī)的記錄。運(yùn)動(dòng)會(huì)是很早以前就有的一項(xiàng)組織性活動(dòng),它的存在使人們的身體得到了鍛煉。運(yùn)動(dòng)會(huì)是一項(xiàng)必不可少的活動(dòng),所以開(kāi)發(fā)這個(gè)系統(tǒng)可以使運(yùn)動(dòng)會(huì)成績(jī)的記錄變的更加方便。 設(shè)計(jì)一個(gè)運(yùn)動(dòng)會(huì)成績(jī)管理程序,主要實(shí)現(xiàn)以下功能: 檢錄功能,登錄參賽運(yùn)動(dòng)員 的 信息; 記錄成績(jī)功能,每項(xiàng)比賽結(jié)束后 記錄參賽運(yùn)動(dòng)員的 成績(jī); 針對(duì)不同比賽對(duì)運(yùn)動(dòng)員的成績(jī) 排名次; 可 對(duì)運(yùn)動(dòng)員 的信息和 成績(jī) 進(jìn)行 修改 、 刪除 、查詢操作。 功能需求 本系統(tǒng)要求對(duì)運(yùn)動(dòng)員的信息進(jìn)行登錄修改,記錄,查詢,要求可以對(duì)運(yùn)動(dòng) 員的成績(jī)進(jìn)行單項(xiàng)排名 。 主要實(shí)現(xiàn)程序最初運(yùn)行時(shí)運(yùn)動(dòng)員數(shù)據(jù)的錄入以及其后的運(yùn)行數(shù)據(jù)的追加功能 , 實(shí)現(xiàn)的功能是按照號(hào)碼對(duì)運(yùn)動(dòng)員的數(shù)據(jù)記錄進(jìn)行 修改、記錄、查詢、 刪除 ,按照題目的具體要求實(shí)現(xiàn)的是某項(xiàng)成績(jī)的遞減排序以及名次顯示。 運(yùn)功會(huì)成績(jī)管理 程序設(shè)計(jì) 3 數(shù)據(jù)需求 在這些函數(shù)當(dāng)中,添加運(yùn)動(dòng)員數(shù)據(jù)函數(shù) 例如運(yùn)動(dòng)員序號(hào)、運(yùn)動(dòng)員名稱、百米賽跑成績(jī)、三級(jí)跳成績(jī)和撐桿跳成績(jī) 。 性能需求 本系統(tǒng) 的性能需求: 要求 運(yùn)行 穩(wěn)定、 數(shù)據(jù) 可靠、 輸出 準(zhǔn)確 、響應(yīng)速度快、可安全運(yùn)行 、能很好的保存、刪除、修改 。 可以及時(shí)保存存儲(chǔ)刪除數(shù)據(jù),可對(duì)成績(jī)進(jìn)行排名,顯示即時(shí)成績(jī) 功能模塊設(shè)計(jì) 經(jīng)過(guò)對(duì)程序設(shè)計(jì)題目的分析可知,整個(gè)程序的設(shè)計(jì)實(shí)現(xiàn)大致分為 5個(gè)模塊,每一個(gè)模塊對(duì)應(yīng)一個(gè)函數(shù)。在這些函數(shù)當(dāng)中,添加運(yùn)動(dòng)員數(shù)據(jù)函數(shù),刪除數(shù)據(jù)函數(shù),某項(xiàng)成績(jī)排序函數(shù)的實(shí)現(xiàn)嚴(yán)格按照題目的要求,而更改數(shù)據(jù)函數(shù)和顯示函數(shù)屬于附加功能。讀取文件函數(shù)和保存信息函數(shù)對(duì)其它函數(shù)的實(shí)現(xiàn)起輔助作用,主函數(shù)及菜單函數(shù)控制程序的整體運(yùn)行。 錄入信息模塊是錄入運(yùn)動(dòng)員信息、查詢信息模塊是查詢運(yùn)動(dòng)員信息的、修改信息模塊可以對(duì)運(yùn)動(dòng)員信息進(jìn)行修改、刪除模塊可對(duì)運(yùn)動(dòng)員信息進(jìn)進(jìn)行刪除、成績(jī)排名是對(duì)運(yùn)動(dòng)員的成績(jī)進(jìn) 行排名 , 功能模塊見(jiàn)圖 1所示 。 運(yùn)功會(huì)成績(jī)管理 程序設(shè)計(jì) 4 圖 1 功能模塊圖 系統(tǒng)設(shè)計(jì)方案 本系統(tǒng)中用到了結(jié)構(gòu)體數(shù)組 和數(shù)據(jù)的存儲(chǔ) 。該結(jié)構(gòu)體數(shù)組 中包含字符串 , 系統(tǒng)的設(shè)計(jì)方案如下: ( 1)數(shù)據(jù)結(jié)構(gòu) struct student {char num[20]。//運(yùn)動(dòng)員號(hào)碼 char name[10]。//運(yùn)動(dòng)員名字 float baimi。//百米賽跑成績(jī) float sanjitiao。//三級(jí)跳成績(jī) float chenggantiao。//撐桿跳成績(jī) 運(yùn)功會(huì)成績(jī)管理 程序設(shè)計(jì) 5 }。 ( 2)菜單 設(shè)計(jì)一個(gè)總菜單, 0、查詢運(yùn)動(dòng)員數(shù)據(jù); 添加運(yùn)動(dòng) 員數(shù)據(jù); 顯示運(yùn)動(dòng)員數(shù)據(jù); 刪除運(yùn)動(dòng)員數(shù)據(jù); 修改運(yùn)動(dòng)員數(shù)據(jù); 百米成績(jī)排序; 三級(jí)跳成績(jī)排序; 7撐桿跳成績(jī)排序; 退出;基本功能的實(shí)現(xiàn)都將體現(xiàn)在這幾個(gè)菜單選項(xiàng)中。 (3) 函數(shù) 定義了 12個(gè)函數(shù) void menu()。 int reads(struct student stu[N])。//讀取運(yùn)動(dòng)員信息 void save(struct student stu[N],int n)。//儲(chǔ)存運(yùn)動(dòng)員信息 void search()。//查詢運(yùn)動(dòng)員信息 void add()。//添加運(yùn)動(dòng)員信息 void del()。//刪除運(yùn)動(dòng)員信息 void sort()。// 按百米賽跑成績(jī)查詢 void keep()。//按三級(jí)跳成績(jī)查詢 void sheep()。//按撐桿跳成績(jī)查詢 void query()。//退出程序 void show()。//顯示運(yùn)動(dòng)員信息 void change()。//更改運(yùn)動(dòng)員信息 4. 詳細(xì)設(shè)計(jì) 錄入信息 模塊 1. 添加數(shù)據(jù)函數(shù) 添加數(shù)據(jù)分為兩種情況,其一是在運(yùn)動(dòng)員文件( )不存在的情況下,首先由程序創(chuàng)建一個(gè)新文件,并將錄入的運(yùn)動(dòng)員信息寫(xiě)入該文件 當(dāng)中;其二是在運(yùn)動(dòng)員文件( )已經(jīng)存在的情況下,此時(shí)文件以追加的方式打開(kāi),這樣才可以保證以前已經(jīng)存在的數(shù)據(jù)不丟失。 運(yùn)功會(huì)成績(jī)管理 程序設(shè)計(jì) 6 開(kāi) 始F p = f o p e n ( “ c : \ \ s t u d e n t . t x t ” ” a” ) = = N U L LF I L E * f p ; i n t n , I 。 s t r u c t s t u d e n t s t u 。F p = f o p e n ( “ c : \ \ s t u d e n t . t x t ” , ” w” ) = = N U L L“ 文 件 打 開(kāi) 失 敗 ! \ n ”輸 入 要 添 加運(yùn) 動(dòng) 員 數(shù) 量i = 1S c a n f ( ” % s % s ” , s t u . n u m ,s t u . n a m e ) 。S c a n f ( “ % f % f % f ” , amp。 s t u .b a i m i , amp。 s t u . s a n j i t i a o , amp。 s tu . c h e n g g a n t i a o ) 。F p r i n t f ( f p , ” % s % s % f % f % f \ n ” , s t u . nu m , s t u . n a m e , s t u . b a i m i , s t u . s a n j i t i a o, s t u . c h e n g g a n t i a o ) 。i + +i = nf c l o s e ( f p ) 。結(jié) 束YYYNNN 圖 2 錄入信息 流程圖 運(yùn)功會(huì)成績(jī)管理 程序設(shè)計(jì) 7 查詢信息 模塊 查詢文件是在以存的運(yùn)動(dòng)員信息中進(jìn)行查詢,可對(duì)運(yùn)動(dòng)員信息進(jìn)行查詢顯示運(yùn)動(dòng)員信息。 通過(guò) 錄入運(yùn)動(dòng)員號(hào)碼 num ,與 stu[i].num 做比較,結(jié)果相同進(jìn)行 m++, m=reads(stu)。來(lái)提取文件中的數(shù)據(jù) 開(kāi) 始I n t i = 0 . m 。 c h a r n u m [ 2 0 ] 。s t r u c t s t u d e n t s t u [ N ] 。 m = r e a d s ( s t u ) 。S c a n f ( “ % s ” , n u m) 。i = 0i mS t r c m p ( s t u [ i ] , n u m , nu m = 0 )輸 出 信 息結(jié) 束i + +YYNN 圖 3 查詢信息 流程圖 運(yùn)功會(huì)成績(jī)管理 程序設(shè)計(jì) 8 修改信息 模塊 修改信息是對(duì)運(yùn)動(dòng)員信息進(jìn)行修改,通過(guò) 輸入 number與 stu[i].num 比較,如果相同進(jìn)行 n=reads( stu)來(lái)提取信息在對(duì)信息進(jìn)行修改。