vc++運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng).doc_第1頁(yè)
vc++運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng).doc_第2頁(yè)
vc++運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng).doc_第3頁(yè)
vc++運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng).doc_第4頁(yè)
vc++運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第頁(yè)共22頁(yè)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)程序設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名:XX指導(dǎo)老師:XXX摘要本文詳細(xì)介紹了運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)程序的設(shè)計(jì)與實(shí)現(xiàn),該程序具有運(yùn)動(dòng)會(huì)成績(jī)的輸入,統(tǒng)計(jì)與輸出等功能。在課程設(shè)計(jì)中,程序設(shè)計(jì)語(yǔ)言采用VisualC+,程序運(yùn)行平臺(tái)為Windows98/2000/XP。對(duì)于獲得名次的同學(xué)在存儲(chǔ)其成績(jī)的時(shí)候采用了鏈表的結(jié)構(gòu),有利于數(shù)據(jù)的存儲(chǔ)與查找。程序通過(guò)調(diào)試運(yùn)行,實(shí)現(xiàn)了最初的設(shè)計(jì)目標(biāo),并且經(jīng)過(guò)適當(dāng)完善后,在實(shí)際中可以解決更多的問(wèn)題。關(guān)鍵詞運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì);程序設(shè)計(jì);C+;1引言本課程設(shè)計(jì)主要解決在運(yùn)動(dòng)會(huì)上,將各個(gè)比賽項(xiàng)目所有獲得名次的同學(xué)的成績(jī)輸入;成績(jī)查詢;成績(jī)修改;成績(jī)刪除;以及成績(jī)輸出。1.1課程設(shè)計(jì)目的進(jìn)一步鞏固CC+程序,VC+課程所學(xué)的知識(shí),特別加強(qiáng)數(shù)組,指針,結(jié)構(gòu)體,文件數(shù)據(jù)類型的應(yīng)用,熟悉面向過(guò)程的結(jié)構(gòu)化和面向?qū)ο罂梢暬绦蛟O(shè)計(jì)方法,通過(guò)本次課程設(shè)計(jì)的實(shí)踐,鍛煉程序設(shè)計(jì)的能力以及用C/C+C+解決實(shí)際問(wèn)題的能力,為以后后續(xù)課程的學(xué)習(xí)打好基礎(chǔ)。1.2程序功能說(shuō)明該程序用于運(yùn)動(dòng)會(huì)上,涉及到比賽項(xiàng)目成績(jī)的錄入,某個(gè)學(xué)校在某個(gè)項(xiàng)目中獲得成績(jī)的查詢,某個(gè)學(xué)校在某個(gè)運(yùn)動(dòng)項(xiàng)目中獲得的成績(jī)的修改,某個(gè)學(xué)校在某個(gè)運(yùn)動(dòng)項(xiàng)目中獲得的成績(jī)的刪除,以及某個(gè)學(xué)校所有獲得成績(jī)的得分報(bào)表以及團(tuán)體成績(jī)的得分報(bào)表。其中比賽成績(jī)的錄入可以按照運(yùn)動(dòng)項(xiàng)目舉行的次序輸入,也可以輸入自己指定的運(yùn)動(dòng)項(xiàng)目的成績(jī);自己擴(kuò)展的功能是“某個(gè)學(xué)校在某個(gè)項(xiàng)目中獲得成績(jī)的查詢,某個(gè)學(xué)校在某個(gè)運(yùn)動(dòng)項(xiàng)第頁(yè)共22頁(yè)目中獲得的成績(jī)的修改,某個(gè)學(xué)校在某個(gè)運(yùn)動(dòng)項(xiàng)目中獲得的成績(jī)的刪除”三項(xiàng),這三項(xiàng)都要求輸入學(xué)校以及運(yùn)動(dòng)項(xiàng)目編號(hào),通過(guò)這兩項(xiàng)作為參數(shù)具體的函數(shù)可以查詢、修改成績(jī)或者是刪除某項(xiàng)成績(jī)記錄,進(jìn)而影響到最后得分報(bào)表的輸出。2原理分析2.1開發(fā)語(yǔ)言本課程涉及主要采用了C+。C+語(yǔ)言是在C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,不僅繼承了C語(yǔ)言的所有特點(diǎn),而且引入了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法1。C+改進(jìn)了程序涉及思路,將編程方式進(jìn)化到面向?qū)ο筮M(jìn)行程序設(shè)計(jì)這一新的思維過(guò)程2。C+語(yǔ)言代表著對(duì)以往語(yǔ)言之精華的發(fā)展和提煉,并能很好的與C語(yǔ)言兼容,既支持面向?qū)ο蟮某绦蛟O(shè)計(jì),也支持結(jié)構(gòu)化的程序設(shè)計(jì)。它修補(bǔ)了C語(yǔ)言中的一些漏洞,提供更好的類型檢查和編譯時(shí)的分析,提供了異常處理機(jī)制,簡(jiǎn)化了程序的出錯(cuò)處理,利用throw、try和catch關(guān)鍵字,出錯(cuò)處理程序不必與正常的代碼緊密結(jié)合,提高了程序的可靠性和可讀性。函數(shù)重載允許相同的函數(shù)名具有不同參數(shù)表,系統(tǒng)根據(jù)參數(shù)的個(gè)數(shù)和類型匹配相應(yīng)的函數(shù)。提供了模板機(jī)制。摸板包括類摸板和函數(shù)模板兩種,它們將數(shù)據(jù)類型作為參數(shù)。對(duì)于具體數(shù)據(jù)類型,編譯器自動(dòng)生成模板類或模板函數(shù),它提供了源代碼復(fù)用的一種手段。2.2運(yùn)行環(huán)境MicrosoftVisualC+6.0。VisualC+(簡(jiǎn)稱VC)是Microsoft公司推出的目前使用極為廣泛的基于Windows平臺(tái)的C+可視化開發(fā)環(huán)境。VisualC+6.0提供的控制臺(tái)應(yīng)用程序?qū)W(xué)習(xí)和掌握標(biāo)準(zhǔn)C+內(nèi)容非常有利。“可視”的資源編輯器與MFC類以及應(yīng)用程序向?qū)?,為快速高效地開發(fā)出功能強(qiáng)大的Windows應(yīng)用程序提供了極大的方便。利用VisualC+6.0進(jìn)行Internet、數(shù)據(jù)庫(kù)及多媒體等多方面的程序開發(fā)也很容易3。第頁(yè)共22頁(yè)3系統(tǒng)體系結(jié)構(gòu)3.1流程圖圖3.1系統(tǒng)流程圖用一個(gè)dowhile循環(huán)語(yǔ)句執(zhí)行完標(biāo)號(hào)為16的某個(gè)分支之后,重新回到操作目錄,選擇要進(jìn)行的操作,直到選擇標(biāo)號(hào)為7的分支退出程序。1234560輸入運(yùn)動(dòng)會(huì)的一些基本信息(參賽學(xué)校數(shù),男女的項(xiàng)目數(shù))開始列出一個(gè)操作目錄,選擇要操作的編號(hào)成績(jī)輸入具成體績(jī)項(xiàng)查目詢查詢修成改績(jī)項(xiàng)目刪記除錄錯(cuò)誤的輸?shù)某雒鞔蝹€(gè)記項(xiàng)錄目輸體出成學(xué)績(jī)校團(tuán)退出程序列出一個(gè)操作目錄選擇要操作的編號(hào)結(jié)束第頁(yè)共22頁(yè)3.2算法說(shuō)明該程序先采用了一個(gè)嵌套在dowhile循環(huán)語(yǔ)句中的switch語(yǔ)句來(lái)控制要執(zhí)行操作的編號(hào),用戶可以有多種選擇,根據(jù)不同的需要選擇不同的操作。其中具體的操作主要采用的是一個(gè)鏈表的結(jié)構(gòu),涉及到了鏈表的插入,鏈表的查找,以及鏈表的刪除等知識(shí)點(diǎn)。鏈表的插入解決了各個(gè)項(xiàng)目中獲得名次的同學(xué)的成績(jī)的錄入問(wèn)題,具體為:為每個(gè)學(xué)校建立一個(gè)頭結(jié)點(diǎn),若該學(xué)校有同學(xué)取得名次,建立一個(gè)新的結(jié)點(diǎn)來(lái)存儲(chǔ)該同學(xué)的信息,并將其插到該學(xué)校所在鏈表的最后一個(gè)結(jié)點(diǎn)后面。鏈表的查找解決了運(yùn)動(dòng)項(xiàng)目成績(jī)的查詢,以及后面的成績(jī)的輸出、刪除都要用到鏈表的查找,查找時(shí)先將頭結(jié)點(diǎn)的地址賦給查找函數(shù),根據(jù)查找的條件依次與每個(gè)結(jié)點(diǎn)中相應(yīng)的比較,若相等則輸出所需要的信息,否則返回“查找的元素不存在”信息。而成績(jī)的刪除,先查找到其所在的結(jié)點(diǎn),然后將該結(jié)點(diǎn)前后結(jié)點(diǎn)相連,再刪除該結(jié)點(diǎn);成績(jī)的修改要先查找到其所在的結(jié)點(diǎn),然后再重新錄入數(shù)據(jù);至于學(xué)校所獲得的各項(xiàng)成績(jī)的輸出,將該校所在的頭結(jié)點(diǎn)的地址賦給控制輸出的函數(shù),利用指針的移動(dòng)依次將各項(xiàng)成績(jī)輸出,而團(tuán)體成績(jī)的輸出,先要根據(jù)運(yùn)動(dòng)項(xiàng)目編號(hào)來(lái)確定是男生還是女生項(xiàng)目,然后再依次累加,分別得到男女生的團(tuán)體得分,最后將兩者相加,得到學(xué)校的團(tuán)體得分。3.3函數(shù)及變量說(shuō)明voidinsertlist(intiterm,intn);該函數(shù)用來(lái)添加成績(jī)記錄,iterm是運(yùn)動(dòng)項(xiàng)目的編號(hào),n為參加比賽的學(xué)??倲?shù),需要注意地是根據(jù)運(yùn)動(dòng)項(xiàng)目是奇數(shù)還是偶數(shù)來(lái)判定最后結(jié)果取前三還是前五名,這里用(iterm%2)是否為零來(lái)判斷。RE*findlist(intsnum,intfiterm);該函數(shù)用來(lái)查找指定的學(xué)校的某項(xiàng)目成績(jī)并返回該成績(jī)所在節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)的地址,其中snum是要查找的學(xué)校的編號(hào),而fiterm為要查找的運(yùn)動(dòng)項(xiàng)目編號(hào),返回一個(gè)指向RE型的指針,RE為定義的一個(gè)結(jié)構(gòu)體類型,用來(lái)存儲(chǔ)獲得名次的學(xué)生的基本信息(包括學(xué)生姓名,取得的名次,獲得的分?jǐn)?shù),所在的學(xué)校編號(hào)以及運(yùn)動(dòng)項(xiàng)目編號(hào))RE*findend(intsnum);查找并返回每個(gè)學(xué)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論