版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《 數(shù) 據(jù) 結(jié) 構(gòu) 》課 程 設(shè) 計(jì) 報(bào) 告 書</p><p> 題目名稱:運(yùn)動(dòng)分?jǐn)?shù)計(jì)分系統(tǒng) </p><p><b> 課程設(shè)計(jì)目的</b></p><p><b> 課程設(shè)計(jì)的內(nèi)容</b></p><p> 本課程設(shè)計(jì)的目的利用C++知識(shí)構(gòu)造兩個(gè)鏈表并運(yùn)用冒泡排序
2、的方法對(duì)對(duì)總分進(jìn)行排序的方法,簡(jiǎn)單的設(shè)計(jì)了一個(gè)運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng),實(shí)現(xiàn)以下的一些功能:添加系別、 添加運(yùn)動(dòng)項(xiàng)目 、按系別編號(hào)輸出總分、按總分排序 、按男團(tuán)體總分進(jìn)行排序、按女團(tuán)體總分進(jìn)行排序、按項(xiàng)目編號(hào)進(jìn)行查詢、按系別編號(hào)進(jìn)行查詢⑵本課程設(shè)計(jì)的實(shí)質(zhì)是完成對(duì)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)以及排序和查詢的功能的,通過這次課程設(shè)計(jì)從而加深了使用鏈表和冒泡排序方法的使用,以及加深了通過對(duì)輸入輸出流的使用。</p><p> ?、?課程設(shè)計(jì)內(nèi)
3、容本身的作用:</p><p> ?。?).將運(yùn)動(dòng)會(huì)繁忙的的分?jǐn)?shù)統(tǒng)計(jì)過程簡(jiǎn)單化,而且將數(shù)據(jù)能夠保存下來,使查找起來也方便了很多</p><p> (2).可以輸入各個(gè)項(xiàng)目的前三名或前五名的成績(jī);</p><p> ?。?).能統(tǒng)計(jì)各系總分,</p><p> ?。?).可以按系編號(hào)、系總分、男女團(tuán)體總分排序輸出;</p>&l
4、t;p> (5).可以按系編號(hào)查詢系某個(gè)項(xiàng)目的情況;可以按項(xiàng)目編號(hào)查詢?nèi)〉们叭蚯拔迕南怠?lt;/p><p> 三.課程設(shè)計(jì)用到的數(shù)據(jù)結(jié)構(gòu)</p><p><b> 1.結(jié)構(gòu)體</b></p><p> 本課程設(shè)計(jì)的是一個(gè)運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng),一個(gè)運(yùn)動(dòng)會(huì)包括運(yùn)動(dòng)項(xiàng)目和參加運(yùn)動(dòng)會(huì)的成員。因此構(gòu)造了兩個(gè)結(jié)構(gòu)體鏈表struct Departm
5、ent,Sport。</p><p><b> (1)系的定義:</b></p><p> typedef struct Department //系的結(jié)構(gòu)</p><p><b> {</b></p><p> char name[20]; //系的名稱</p&g
6、t;<p> int number; //系的編號(hào)</p><p> int boy; //男子團(tuán)體總分</p><p> int girl; //女子團(tuán)體總分</p><p> Department *next; }Department;</p><p
7、> (2)運(yùn)動(dòng)項(xiàng)目定義:</p><p> typedef struct Sport //運(yùn)動(dòng)項(xiàng)目結(jié)構(gòu)</p><p><b> {</b></p><p> char name[20]; //運(yùn)動(dòng)項(xiàng)目名稱</p><p> int isboy; //0為女項(xiàng)目,
8、1為男項(xiàng)目</p><p> int is3; //0為取前五名,1為取前五名</p><p> int number; //項(xiàng)目編號(hào)</p><p> int first; //第一名系的編號(hào)</p><p> int second; //第二名
9、系的編號(hào)</p><p> int third; //第三名系的編號(hào)</p><p> int fourth; //第四名系的編號(hào)</p><p> int fifth; //第五名系的編號(hào)</p><p> Sport *next;</p><p&
10、gt;<b> }Sport;、</b></p><p> 2、函數(shù)之間的調(diào)用關(guān)系</p><p><b> 系調(diào)用圖</b></p><p> department_add //添加系別</p><p> department_Order //用冒泡排序法按總分進(jìn)行排序<
11、;/p><p> <1>Department department_search //按編號(hào)搜索系</p><p> department_addmark //加總分</p><p> department_show //輸出所有系</p><p> department_isexist
12、 //檢驗(yàn)系是否存在</p><p> department_output //輸出系</p><p> department_read //從文本讀入系別數(shù)據(jù)</p><p> department_write //從文本寫入系別數(shù)據(jù)</p><p> department_getlong //得到系別鏈
13、表長(zhǎng)度</p><p> sport_isexist //檢查運(yùn)動(dòng)項(xiàng)目(編號(hào))是否已經(jīng)存在</p><p> sport_add //添加運(yùn)動(dòng)項(xiàng)目</p><p> sport_getlong //得到運(yùn)動(dòng)項(xiàng)目鏈表長(zhǎng)度</p><p> sport_write //從文本寫入運(yùn)動(dòng)項(xiàng)目數(shù)據(jù)</p>
14、<p> <2>Sport sport_read //從文本讀入運(yùn)動(dòng)項(xiàng)目數(shù)據(jù)</p><p> sport_output //輸出運(yùn)動(dòng)項(xiàng)目</p><p> sport_search //運(yùn)動(dòng)搜索項(xiàng)目</p><p><b> 3、冒泡排序的方法</b></p
15、><p> 通過所學(xué)的冒泡的排序的排序方法按總分進(jìn)行排序,從而避免了繁瑣的數(shù)字計(jì)算。冒泡排序的的函數(shù)定義為:void department_order(Department *temp,int type)</p><p><b> 四.核心算法</b></p><p> 主要算法的設(shè)計(jì)思想:</p><p> 本程序
16、主要是使用鏈表來實(shí)現(xiàn)操作。一個(gè)運(yùn)動(dòng)會(huì)包括運(yùn)動(dòng)項(xiàng)目和參加運(yùn)動(dòng)會(huì)的成員。因此需要構(gòu)造兩個(gè)鏈表Department,Sport。為了操作的方便,并且能夠保存輸入數(shù)據(jù),所以通過運(yùn)用輸入與輸出流對(duì)文件操作來實(shí)現(xiàn)數(shù)據(jù)的寫和讀。每次添加新的數(shù)據(jù)后都要輸入0退出,數(shù)據(jù)才能保存。對(duì)于總分的排序使用了冒泡排序。為了使整個(gè)程序的新意和使程序界面看起來更加友好和美觀,又添加了程序啟動(dòng)畫面以及標(biāo)題和顏色設(shè)置。</p><p> 排序的核
17、心算法函數(shù)為:</p><p> void department_order(Department *temp,int type) //type=0按總分,type=1按男總分,type=2按女總分,</p><p><b> {</b></p><p> Department *p,*q,*small,*temp1;</p>
18、<p> temp1=new Department;</p><p> temp1->next=NULL;</p><p><b> p=temp;</b></p><p><b> while(p) </b></p><p><b> {</b>
19、</p><p><b> small=p;</b></p><p> q=p->next;</p><p><b> while(q) </b></p><p><b> {</b></p><p> switch(type)</
20、p><p><b> {</b></p><p><b> case 0:</b></p><p> if((q->boy+q->girl)<(small->girl+small->boy)) </p><p><b> {</b></p
21、><p><b> small=q; </b></p><p><b> }</b></p><p><b> break;</b></p><p><b> case 1:</b></p><p> if(q->boy
22、<small->boy) </p><p><b> {</b></p><p><b> small=q; </b></p><p><b> }</b></p><p><b> break;</b></p><
23、p><b> case 2:</b></p><p> if(q->girl<small->girl) </p><p><b> {</b></p><p><b> small=q; </b></p><p><b> }<
24、/b></p><p><b> break;</b></p><p><b> default:</b></p><p> cout<<"error"<<endl;</p><p><b> }</b></p&g
25、t;<p> if(small!=p) </p><p><b> {</b></p><p> temp1->boy=p->boy; </p><p> p->boy=small->boy; </p><p> small->boy=temp1->boy;&l
26、t;/p><p> temp1->girl=p->girl; </p><p> p->girl=small->girl; </p><p> small->girl=temp1->girl;</p><p> strcpy(temp1->name,p->name);</p>
27、<p> strcpy(p->name,small->name); </p><p> strcpy(small->name,temp1->name);</p><p> temp1->number=p->number; </p><p> p->number=small->number; </
28、p><p> small->number=temp1->number; //將系的名字互換</p><p><b> }</b></p><p> q=q->next;</p><p><b> }</b></p><p> p=p->ne
29、xt;</p><p><b> }</b></p><p><b> }</b></p><p> 五.課程設(shè)計(jì)內(nèi)容及相關(guān)程序界面</p><p> 本課程設(shè)計(jì)的主要內(nèi)容是簡(jiǎn)單的設(shè)計(jì)了一個(gè)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)。</p><p> ?、攀紫榷x本課程設(shè)計(jì)程序運(yùn)行后首先顯
30、示程序啟動(dòng)畫面,其輸出界面如下:</p><p> ⑵然后進(jìn)入運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)菜單界面:</p><p> ?、傧认葮?gòu)造兩個(gè)鏈表,系和運(yùn)動(dòng)項(xiàng)目,系包括的成員有:系的名字,系的編號(hào)</p><p> ,男子團(tuán)體總分 ,女子團(tuán)體總分;運(yùn)動(dòng)項(xiàng)目的成員包括:運(yùn)動(dòng)項(xiàng)目名稱,0為女項(xiàng)目、1為男項(xiàng)目 ,0為取前五名、1為取前五名,項(xiàng)目編號(hào),第一名系的編號(hào),第二名系的編號(hào),第
31、三名系的編號(hào),第四名系的編號(hào),然后設(shè)計(jì)一個(gè)菜單選擇的程序來完成對(duì)本課程設(shè)計(jì)的0-8項(xiàng)相關(guān)功能的選擇。在提示‘請(qǐng)選擇:’時(shí),輸入0-8會(huì)進(jìn)入相關(guān)功能的操作系統(tǒng),否則會(huì)輸出‘操作非法!’的相關(guān)提示,其程序界面如下:</p><p> ②添加系別:輸入:1 進(jìn)入添加系的界面,根據(jù)提示,再輸入:數(shù)學(xué)系。再輸入:1,成功添加了一個(gè)系!然后輸入1可以繼續(xù)添加系別。但是必須要按0退出即可保存。</p><
32、p> ?、厶砑舆\(yùn)動(dòng)項(xiàng)目:輸入:2 進(jìn)入運(yùn)動(dòng)項(xiàng)目添加界面,根據(jù)提示,再輸入:跳高;0;0;1;2;3。之后輸入0。再次進(jìn)入系統(tǒng)界面,輸入2可以繼續(xù)添加。最后輸入0退出提示保存成功。</p><p> ④按系別編號(hào)輸出總分:輸入:3查看輸出結(jié)果。此時(shí)顯示程序界面面如下:</p><p> ?、莅纯偡峙判颍ò捶?jǐn)?shù)由低到高輸出系別):輸入:4查看輸出結(jié)果。此時(shí)顯示程序界面面如下:</
33、p><p> ?、薨茨袌F(tuán)體總分排序(按分?jǐn)?shù)由低到高輸出系別):輸入:5查看輸出結(jié)果。此時(shí)顯示程序界面面如下:</p><p> ?、甙磁畧F(tuán)體總分排序(按分?jǐn)?shù)由低到高輸出系別):輸入:6查看輸出結(jié)果。此時(shí)顯示程序界面面如下:</p><p> ?、喟错?xiàng)目編號(hào)查詢:輸入:7,根據(jù)提示在輸入1。此時(shí)顯示界面如下:</p><p> ?、岚聪祫e編號(hào)查詢:
34、輸入8,再根據(jù)提示輸入1。此時(shí)顯示界面如下:</p><p><b> 六.心得體會(huì)</b></p><p> 本程序相對(duì)來說比較容易看明白,其中涉及到的一些函數(shù)相對(duì)來說比較容易。但是在剛開始通過調(diào)試還是遇到一些問題。但通過詢問寢室同學(xué)一起幫忙,還有通過到網(wǎng)上百度上查詢出,最后總還是最后還是能正常的運(yùn)行了,通過此次的程序設(shè)計(jì),讓我才正經(jīng)感覺到當(dāng)自己成功設(shè)計(jì)出一個(gè)程
35、序時(shí)的快感,讓我對(duì)C++也有了更深一步的了解,也讓我從新找回了自信與希望。我想在以后的日子里,我將不會(huì)害怕去編程了,因?yàn)橥ㄟ^這次課程設(shè)計(jì)讓我明白了“世上無難事,只怕有心人”,只要你去動(dòng)手,勤于思考,是沒有什么不可能的!在這次設(shè)計(jì)過程中,體會(huì)了學(xué)以致用、突出自己勞動(dòng)成果的喜悅心情,從中發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。</p><p> 最后由于本人的設(shè)計(jì)能力有限,在設(shè)計(jì)過程中難免出現(xiàn)錯(cuò)誤和一些調(diào)試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)課程設(shè)計(jì)--運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)
- 2021運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)課程設(shè)計(jì)報(bào)告
- 運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)課程設(shè)計(jì)
- 運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)
- 保齡球計(jì)分系統(tǒng)c語言課程設(shè)計(jì)
- 保齡球計(jì)分系統(tǒng)c語言課程設(shè)計(jì) (2)
- 嵌入式比賽計(jì)分系統(tǒng)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--搶答計(jì)分系統(tǒng)
- 評(píng)分系統(tǒng)課程設(shè)計(jì)-微機(jī)接口課程設(shè)計(jì)報(bào)告
- 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)報(bào)告
- 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)--運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)
- 課程設(shè)計(jì)---運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 課程設(shè)計(jì)---運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)
- 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
評(píng)論
0/150
提交評(píng)論