運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)
運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)
運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)
運(yùn)動(dòng)會(huì)計(jì)分系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-. z計(jì)算機(jī)科學(xué)與工程學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院數(shù)字媒體與技術(shù)專業(yè)數(shù)字媒體與技術(shù)專業(yè)? ?數(shù)據(jù)構(gòu)造與算法課程設(shè)計(jì)數(shù)據(jù)構(gòu)造與算法課程設(shè)計(jì)? ?報(bào)告報(bào)告學(xué)生班級(jí):學(xué)生班級(jí):學(xué)學(xué)生生* * *:學(xué)生:學(xué)生:指導(dǎo)教師指導(dǎo)教師:2021 年9 月1 日-. z目錄第一章課程設(shè)計(jì)的目的和要求第一章課程設(shè)計(jì)的目的和要求 11.1 課程設(shè)計(jì)的目的 11.2 課程設(shè)計(jì)問(wèn)題描述 11.3 課程設(shè)計(jì)根本要求 11.4 課程設(shè)計(jì)測(cè)試數(shù)據(jù) 1第二章課程設(shè)計(jì)任務(wù)容第二章課程設(shè)計(jì)任務(wù)容 2第三章詳細(xì)設(shè)計(jì)說(shuō)明第三章詳細(xì)設(shè)計(jì)說(shuō)明 33.1 數(shù)據(jù)類型定義 33.2 程序功能圖及功能說(shuō)明 4程序功能圖 4程序功能說(shuō)明 43.3 程

2、序流程圖 53.4 算法設(shè)計(jì) 6第四章程序測(cè)試第四章程序測(cè)試 74.1 多組數(shù)據(jù)輸入與輸出 74.2 操作過(guò)程 10第五章課程設(shè)計(jì)心得與體會(huì)第五章課程設(shè)計(jì)心得與體會(huì) 11第六章致第六章致 12附錄一參考文獻(xiàn)附錄一參考文獻(xiàn) 13附錄二程序清單附錄二程序清單 14-. z運(yùn)動(dòng)會(huì)計(jì)分學(xué)校統(tǒng)運(yùn)動(dòng)會(huì)計(jì)分學(xué)校統(tǒng)第第一一章章課課程程設(shè)設(shè)計(jì)計(jì)的的目目的的和和要要求求1.1 課程設(shè)計(jì)目的數(shù)據(jù)構(gòu)造作為一門學(xué)科主要研究數(shù)據(jù)的各種邏輯構(gòu)造和存儲(chǔ)構(gòu)造,以及對(duì)數(shù)據(jù)的各種操作。因此,主要有三個(gè)方面的容:數(shù)據(jù)的邏輯構(gòu)造;數(shù)據(jù)的物理存儲(chǔ)構(gòu)造;對(duì)數(shù)據(jù)的操作或算法。通常,算法的設(shè)計(jì)取決于數(shù)據(jù)的邏輯構(gòu)造,算法的實(shí)現(xiàn)取決于數(shù)據(jù)的物理存

3、儲(chǔ)構(gòu)造。數(shù)據(jù)構(gòu)造是信息的一種組織方式,其目的是為了提高算法的效率,它通常與一組算法的集合相對(duì)應(yīng),通過(guò)這組算法集合可以對(duì)數(shù)據(jù)構(gòu)造中的數(shù)據(jù)進(jìn)展*種操作。 在當(dāng)今信息時(shí)代,信息技術(shù)己成為當(dāng)代知識(shí)經(jīng)濟(jì)的核心技術(shù)。我們時(shí)刻都在和數(shù)據(jù)打交道。比方人們?cè)谕獬龉ぷ鲿r(shí)找最短路徑,在銀行查詢存款、通過(guò)互聯(lián)網(wǎng)查新聞、以及遠(yuǎn)程教育報(bào)名等,所有這些都在與數(shù)據(jù)發(fā)生關(guān)學(xué)校。實(shí)際上,現(xiàn)實(shí)世界中的實(shí)體經(jīng)過(guò)抽象以后,就可以成為計(jì)算機(jī)上所處理的數(shù)據(jù)。 數(shù)據(jù)構(gòu)造課程主要是研究非數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)題中所出現(xiàn)的計(jì)算機(jī)操作對(duì)象以及它們之間的關(guān)學(xué)校和操作的學(xué)科。數(shù)據(jù)構(gòu)造是介于數(shù)學(xué)、計(jì)算機(jī)軟件和計(jì)算機(jī)硬件之間的一門計(jì)算機(jī)專業(yè)的核心課程,它是

4、計(jì)算機(jī)程序設(shè)計(jì)、數(shù)據(jù)庫(kù)、操作學(xué)校統(tǒng)、編譯原理及人工智能等的重要根底,廣泛的應(yīng)用于信息學(xué)、學(xué)校統(tǒng)工程等各種領(lǐng)域。 學(xué)習(xí)數(shù)據(jù)構(gòu)造是為了將實(shí)際問(wèn)題中所涉及的對(duì)象在計(jì)算機(jī)中表示出來(lái)并對(duì)它們進(jìn)展處理。通過(guò)課程設(shè)計(jì)可以提高學(xué)生的思維能力,促進(jìn)學(xué)生的綜合應(yīng)用能力和專業(yè)素質(zhì)的提高。課程設(shè)計(jì)的目的:1要求學(xué)生到達(dá)熟練掌握 C 語(yǔ)言的根本知識(shí)和技能。2了解并掌握數(shù)據(jù)構(gòu)造與算法的設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)計(jì)能力。3提高程序設(shè)計(jì)和調(diào)試能力。學(xué)生通過(guò)上機(jī)實(shí)習(xí),驗(yàn)證自己設(shè)計(jì)的算法的正確性。學(xué)會(huì)有效利用根本調(diào)試方法,迅速找出程序代碼中的錯(cuò)誤并且修改。4培養(yǎng)算法分析能力。分析所設(shè)計(jì)算法的時(shí)間復(fù)雜度和空間復(fù)雜度,進(jìn)一步提

5、高程序設(shè)計(jì)水平。5初步掌握軟件開發(fā)過(guò)程的問(wèn)題分析、學(xué)校統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等根本方法和技能。-. z1.2 課程設(shè)計(jì)問(wèn)題描述參加運(yùn)動(dòng)會(huì)的學(xué)校有 n 個(gè),其中學(xué)校編號(hào)從 1 至 n。比賽分成 w 個(gè)女子工程和 m 個(gè)男子工程。運(yùn)動(dòng)會(huì)比賽工程編號(hào)是:男子 1m,女子 m+1m+w。在比賽的結(jié)果中,不同的工程取前五名或者取前三名的積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學(xué)生自己設(shè)定。m=20,n=201.3 課程設(shè)計(jì)根本要求1能夠方便快捷的輸入各個(gè)工程的前三名或前五名的成績(jī)2能夠按學(xué)校編號(hào)、學(xué)??偡?、男女團(tuán)體總分進(jìn)展排序并輸出3能夠準(zhǔn)確

6、的統(tǒng)計(jì)各學(xué)校的總分4能夠按學(xué)校編號(hào)查詢學(xué)校*個(gè)工程的根本情況,能夠按工程編號(hào)查詢?nèi)〉们叭蚯拔迕膶W(xué)校1.4 課程設(shè)計(jì)測(cè)試數(shù)據(jù)a) 按 1 鍵進(jìn)入添加學(xué)校的界面,根據(jù)提示,再輸入:汽車學(xué)校。再輸入:8,成功添加了一個(gè)學(xué)校。再輸入:2 進(jìn)入運(yùn)開工程添加界面,根據(jù)提示,再輸入:跳高;1;0;1;2;3。之后輸入 0。再次進(jìn)入學(xué)校統(tǒng)界面b) 按 3 鍵查看學(xué)校統(tǒng)中輸出的結(jié)果c) 按 4 鍵查看學(xué)校統(tǒng)中輸出的結(jié)果d) 按 5 鍵查看學(xué)校統(tǒng)中輸出的結(jié)果e) 按 6 鍵查看學(xué)校統(tǒng)中輸出的結(jié)果f) 按 7 鍵根據(jù)提示輸入工程編號(hào)并查看學(xué)校統(tǒng)中輸出的結(jié)果g) 按 8 鍵根據(jù)提示輸入學(xué)校編號(hào)并查看學(xué)校統(tǒng)中輸出的

7、結(jié)果第二章課課程程設(shè)設(shè)計(jì)計(jì)任任務(wù)務(wù)容容A. 可以輸入各個(gè)工程的前三名或前五名的成績(jī)B. 可以按學(xué)校編號(hào)、學(xué)??偡?、男女團(tuán)體總分排序輸出C. 可以統(tǒng)計(jì)出各學(xué)校的總分D. 可以按學(xué)校編號(hào)查詢學(xué)校*個(gè)工程的情況-. zE. 可以按工程編號(hào)查詢?nèi)〉们叭蚯拔迕膶W(xué)校F. 數(shù)據(jù)存入文件中,并且可以隨時(shí)查詢G. 學(xué)校統(tǒng)操作規(guī)定:輸入數(shù)據(jù)形式和圍:可以輸入學(xué)院學(xué)校的名稱和運(yùn)動(dòng)會(huì)工程的名稱輸出形式:有中文提示,各學(xué)院學(xué)校分?jǐn)?shù)為整形H. 界面要求:有合理的操作提示,每個(gè)功能都可以設(shè)立菜單,并且根據(jù)提示,可以完成相關(guān)的功能要求I. 存儲(chǔ)構(gòu)造:學(xué)生自己可以根據(jù)學(xué)校統(tǒng)功能要求自己設(shè)計(jì),但是要求運(yùn)動(dòng)會(huì)的相關(guān)數(shù)據(jù)要存儲(chǔ)在

8、數(shù)據(jù)文件中,實(shí)時(shí)保存第第三三章章詳詳細(xì)細(xì)設(shè)設(shè)計(jì)計(jì)說(shuō)說(shuō)明明3.1 數(shù)據(jù)類型定義(1)運(yùn)開工程定義:typedef struct Sport /運(yùn)開工程構(gòu)造 char name20; /運(yùn)開工程名稱 int isboy; /0 為女工程,1 為男工程 int is3; /0 為取前五名,1 為取前五名 int number; /工程編號(hào) int first; /第一名學(xué)校的編號(hào) int second; /第二名學(xué)校的編號(hào) int third; /第三名學(xué)校的編號(hào) int fourth; /第四名學(xué)校的編號(hào) int fifth; /第五名學(xué)校的編號(hào) Sport *ne*t;Sport;、運(yùn)開工程構(gòu)造

9、體定義如下:char 型的數(shù)組,int 型的number,first,second,third,fourth,fifth 以及 sport 類型的指針ne*t。-. z(2)學(xué)校的定義:typedef struct Department /學(xué)校的構(gòu)造 char name20; /學(xué)校的名稱 int number; /學(xué)校的編號(hào) int boy; /男子團(tuán)體總分 int girl; /女子團(tuán)體總分 Department *ne*t; Department;將學(xué)校自定義為一個(gè)構(gòu)造體命名為 Department;學(xué)校的構(gòu)造體定義如下:char 型的數(shù)組,int 型的變量 unmber ,int 型的

10、變量 boy,girl 以及Department 類型的指針 ne*t。3.2 程序功能圖及功能說(shuō)明3.2.1 程序功能圖圖 2 程序功能圖3.2.2 程序功能說(shuō)明如上圖標(biāo)示:1 直接輸入學(xué)校別名稱2 直接輸入運(yùn)開工程的名稱,編號(hào),及男女工程代碼,以便之后執(zhí)行的簡(jiǎn)單快捷3 直接跳轉(zhuǎn)到“按學(xué)校別輸出總分的界面,查看按學(xué)校別編號(hào)輸出的總分4 直接跳轉(zhuǎn)到“按總分排序的界面,查看按總分排列的順序5 直接跳轉(zhuǎn)到“按男團(tuán)體輸出總分的界面,查看按男團(tuán)體總分排列的順序6 直接跳轉(zhuǎn)到“按女團(tuán)體輸出總分的界面,查看按女團(tuán)體總分排列的順序7 輸入所要查出的工程的編號(hào),即可查看所排列的順序8 輸入所要查出的學(xué)校別的標(biāo)

11、號(hào),即可查看所排列的順序0 退出鍵,保存文本,關(guān)閉程序輸入學(xué)校別1輸入運(yùn)開工程2按學(xué)校別編號(hào)輸出總分3按總分排序4按男團(tuán)體總分排序5按女團(tuán)體總分排序6按工程標(biāo)號(hào)查詢7按學(xué)校別標(biāo)號(hào)查詢8退出0運(yùn)動(dòng)會(huì)計(jì)分學(xué)校統(tǒng)-. z3.3 程序流程圖圖 1 程序流程圖如上圖所示:本學(xué)校統(tǒng)在第一次運(yùn)行時(shí),將直接輸出菜單,如果不是第一次運(yùn)行,則在學(xué)校統(tǒng)運(yùn)行的初期會(huì)進(jìn)展數(shù)據(jù)的讀取。然后,可以根據(jù)輸出的菜單對(duì)需要進(jìn)展的功能進(jìn)展選擇,選擇完畢后將該功能進(jìn)展運(yùn)行。例如:輸入運(yùn)開工程,輸入學(xué)校別,按學(xué)校別編號(hào)出總分,按男女團(tuán)體總分?jǐn)?shù)輸出,按工程標(biāo)號(hào)查詢,按學(xué)校別標(biāo)號(hào)查詢,退出。運(yùn)行完畢后,將數(shù)據(jù)輸出到屏幕,如果要完畢學(xué)校統(tǒng)則

12、自動(dòng)將數(shù)據(jù)保存到相應(yīng)的文本,否則繼續(xù)輸出菜單。3.4 算法設(shè)計(jì)主要算法的設(shè)計(jì)思想:本程序主要是使用鏈表來(lái)實(shí)現(xiàn)操作。一個(gè)運(yùn)動(dòng)會(huì)包括運(yùn)開工程和參加運(yùn)動(dòng)會(huì)的成員。因此構(gòu)造兩個(gè)鏈表 Department,Sport。根據(jù)輸入的不同選擇不同的功能,第一次運(yùn)行輸出菜單讀入數(shù)據(jù)是否判斷功能 i=.i=1i=2i=3i=4i=5i=6i=7i=8i=0輸入運(yùn)開工程輸入學(xué)校別按學(xué)校別編號(hào)輸出總分按總分排序按男團(tuán)體總分排序按女團(tuán)體總分排序按工程標(biāo)號(hào)查詢按學(xué)校別標(biāo)號(hào)查詢退出功能運(yùn)行輸出信息關(guān)閉程序是保存數(shù)據(jù)到文本否開場(chǎng)完畢-. z有輸入運(yùn)開工程,輸入學(xué)校別,按學(xué)校別編號(hào)輸出總分,按總分排序,按男團(tuán)體總分排序,按女團(tuán)

13、體總分排序,按工程標(biāo)號(hào)查詢,按學(xué)校別標(biāo)號(hào)查詢,退出。為了操作的方便,并且能夠保存輸入數(shù)據(jù),所以通過(guò)文件操作來(lái)實(shí)現(xiàn)數(shù)據(jù)的寫和讀。每次添加新的數(shù)據(jù)后都要輸入 0 退出,數(shù)據(jù)才能保存。對(duì)于總分的排序使用了冒泡排序。為了使整個(gè)程序看起來(lái)更加友好,又添加了程序啟動(dòng)畫面。3.5 相關(guān)知識(shí)鏈表是一種物理存儲(chǔ)單元上非連續(xù)、非順序的存儲(chǔ)構(gòu)造,數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針次序?qū)崿F(xiàn)的。鏈表由一學(xué)校列結(jié)點(diǎn)鏈表中每一個(gè)元素稱為結(jié)點(diǎn)組成,結(jié)點(diǎn)可以在運(yùn)行時(shí)動(dòng)態(tài)生成。每個(gè)結(jié)點(diǎn)包括兩個(gè)局部:一個(gè)是存儲(chǔ)數(shù)據(jù)元素的數(shù)據(jù)域,另一個(gè)是存儲(chǔ)下一個(gè)結(jié)點(diǎn)地址的指針域。 相比于線性表順序構(gòu)造,鏈表比較方便插入和刪除操作。冒泡排序,是指

14、計(jì)算機(jī)的一種排序方法,它的時(shí)間復(fù)雜度為 On2,雖然不及堆排序、快速排序的 Onlogn,底數(shù)為 2,但是有兩個(gè)優(yōu)點(diǎn):1.“編程復(fù)雜度很低,很容易寫出代碼;2.具有穩(wěn)定性,這里的穩(wěn)定性是指原序列中一樣元素的相對(duì)順序仍然保持到排序后的序列,而堆排序、快速排序均不具有穩(wěn)定性。不過(guò),一路、二路歸并排序、不平衡二叉樹排序的速度均比冒泡排序快,且具有穩(wěn)定性,但速度不及堆排序、快速排序。冒泡排序是經(jīng)過(guò) n-1 趟子排序完成的,第 i 趟子排序從第 1 個(gè)數(shù)至第 n-i 個(gè)數(shù),假設(shè)第 i 個(gè)數(shù)比后一個(gè)數(shù)大則升序,小則降序則交換兩數(shù)。第第四四章章程程序序測(cè)測(cè)試試4.1 多組數(shù)據(jù)輸入與輸出圖 3 程序頁(yè)面圖圖

15、3 為本程序的頁(yè)面圖,為了使程序更加人性化,參加了“程序讀取,請(qǐng)耐心等待的字樣。圖 4 程序菜單圖圖 4 為本程序的菜單,顯示了本程序的主要功能,可以讓使用者輕松,快捷的,選擇所要進(jìn)展的操作。圖 5 程序輸入學(xué)校別圖-. z如圖 5 所示,在菜單中選擇“1按回車鍵,彈出輸入一個(gè)學(xué)校,輸入“計(jì)算機(jī),編號(hào)“1單擊回車鍵,返回菜單。圖 6 程序輸入運(yùn)開工程圖圖 7 程序輸入運(yùn)開工程圖如圖 6,圖 7 所示,在菜單中選擇“2,按回車鍵,彈出“輸入一個(gè)運(yùn)開工程,輸入“100 米,編號(hào)“1 類型“0等操作之后。按回車鍵,返回菜單。圖 8 程序輸入學(xué)校別編號(hào)查詢圖如圖 8 所示,在菜單中選擇“8,按回車鍵,

16、彈出“輸入學(xué)校的編號(hào),輸入“2,按回車鍵,彈回菜單。1輸入:4輸出: 學(xué)校名編號(hào)男團(tuán)總分女團(tuán)總分總分法律學(xué)校 41 01電子學(xué)校 3279數(shù)學(xué)學(xué)校 5 6 511旅游學(xué)校 15914歷史學(xué)校 2 9 7 16中文學(xué)校 615 11 26計(jì)算機(jī)學(xué)校 721 11 322輸入:6輸出:法律學(xué)校 4 0 0 0電子學(xué)校 3 3 14數(shù)學(xué)學(xué)校 5 6 39旅游學(xué)校 17 7 14歷史學(xué)校 2 9918中文學(xué)校 615 11 26計(jì)算機(jī)學(xué)校 721 11 323輸入:8輸出:請(qǐng)輸入學(xué)校的再輸入 2 回車則輸出:-. z學(xué)校名:中文學(xué)校男子團(tuán)體總分:3 女子團(tuán)體局部:10 總分:134輸入:0 退出4.2

17、 操作過(guò)程(1)用戶進(jìn)入程序啟動(dòng)界面,等 load 完成后進(jìn)入主菜單.主菜單有以下 9 個(gè)選項(xiàng)。1.輸入學(xué)校別2.輸入運(yùn)開工程3.按學(xué)校別編號(hào)輸出總分4.按總分排序5.按男團(tuán)體總分排序6.按女團(tuán)體總分排序7.按工程編號(hào)查詢8.按學(xué)校別編號(hào)查詢0.退出(2)輸入 0 至 8 中的一個(gè)數(shù)。(3)輸入 1,進(jìn)展添加學(xué)校操作,分別輸入學(xué)校的名稱和編號(hào)。(4)輸入 2,進(jìn)展添加運(yùn)開工程操作,分別輸入工程名稱,編號(hào),工程類型,名次選取,排名情況。(5)輸入 0,則退出學(xué)校統(tǒng),并且保存輸入的信息.每次添加完都要輸入 0 退出學(xué)校統(tǒng)才有效。(6)輸入 3,輸出按學(xué)校編號(hào)總分排名。(7)輸入 4,輸出按總分排名

18、。(8)輸入 5,輸出按男團(tuán)體總分排序。(9)輸入 6,輸出按女團(tuán)體總分排序。(10)輸入 7,進(jìn)入按工程編號(hào)查詢界面.輸入要查詢的工程編號(hào)。(11)輸入 8,進(jìn)入按學(xué)校別編號(hào)查詢界面,輸入要查詢的學(xué)校的編號(hào)。第第五五章章課課程程設(shè)設(shè)計(jì)計(jì)心心得得與與體體會(huì)會(huì)-. z二周的課程設(shè)計(jì)完畢了,在這次的課程設(shè)計(jì)中不僅檢驗(yàn)了我所學(xué)習(xí)的知識(shí),也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。經(jīng)過(guò)二周的課程設(shè)計(jì),過(guò)程曲折可謂一語(yǔ)難盡。整天都是對(duì)著電腦,不然就是翻閱資料。在此期間我失落過(guò),也曾一度熱情高漲。點(diǎn)點(diǎn)滴滴令我回味無(wú)長(zhǎng)。這次課程設(shè)計(jì)使我體會(huì)到只有做到細(xì)心耐心,恒心才能做好事情。這次的

19、課程設(shè)計(jì),加強(qiáng)了我們動(dòng)手、思考和解決問(wèn)題的能力。穩(wěn)固和加深了對(duì)數(shù)據(jù)構(gòu)造的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。培養(yǎng)了我選用參考書,查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問(wèn)題、解決問(wèn)題的能力。通過(guò)實(shí)際編譯學(xué)校統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。通過(guò)課程設(shè)計(jì),培養(yǎng)了我嚴(yán)肅認(rèn)真的工作作風(fēng),逐步建立正確的生產(chǎn)觀念、經(jīng)濟(jì)觀念和全局觀念。而且做課程設(shè)計(jì)同時(shí)也是對(duì)課本知識(shí)的穩(wěn)固和加強(qiáng),平時(shí)看課本時(shí),有些問(wèn)題就不是很能理解,做完課程設(shè)計(jì),那些問(wèn)題就迎刃而解了。而且還可以記住很多東西。認(rèn)識(shí)來(lái)源于實(shí)踐,實(shí)踐是認(rèn)識(shí)的動(dòng)力和最終目的,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。所以這個(gè)期末測(cè)

20、試之后的課程設(shè)計(jì)對(duì)我們的作用是非常大的。這次的課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很非常重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)效勞,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在整個(gè)設(shè)計(jì)過(guò)程中,構(gòu)思是很花費(fèi)時(shí)間的。調(diào)試時(shí)經(jīng)常會(huì)遇到這樣那樣的錯(cuò)誤,有的是因?yàn)榇中脑斐傻恼Z(yǔ)法錯(cuò)誤。當(dāng)然,很多也時(shí)用錯(cuò)了方法,總是實(shí)現(xiàn)不了。同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的缺乏之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠結(jié)實(shí)。根據(jù)我在課程設(shè)計(jì)中遇到得問(wèn)題,我將在以后的學(xué)習(xí)過(guò)程中注意以下幾點(diǎn): 1、認(rèn)真上好專業(yè)實(shí)驗(yàn)課,多在實(shí)踐中鍛煉自己。2、寫程序的過(guò)程

21、中要考慮周到,嚴(yán)密。3、在做設(shè)計(jì)的時(shí)候要有信心,有耐心,切勿急躁。4、認(rèn)真的學(xué)習(xí)課本知識(shí),掌握課本中的知識(shí)點(diǎn),并在此根底上學(xué)會(huì)靈活運(yùn)用。5、在課余時(shí)間里多寫程序,熟練掌握在調(diào)試程序的過(guò)程中所遇到的常見(jiàn)錯(cuò)誤,以便能節(jié)省調(diào)試程序的時(shí)間。-. z每個(gè)實(shí)驗(yàn)通常都要花費(fèi)很久的時(shí)間才能理清一個(gè)程序的思路,而且要不斷的調(diào)試程序才能把程序調(diào)試正確,同時(shí)還要做到界面的輸出也是需要美化的。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多專業(yè)知識(shí)問(wèn)題,最后在教師的辛勤指導(dǎo)下,也完成了課程設(shè)計(jì)。通過(guò)這次的課程設(shè)計(jì),讓我更加了解到數(shù)據(jù)構(gòu)造的重要性。以及它對(duì)我們專業(yè)的開展發(fā)揮的作用。對(duì)我們而言,知識(shí)上的收獲很重要,但精神上

22、的豐收更加可喜。讓我知道了學(xué)無(wú)止境的道理。我們每一個(gè)人永遠(yuǎn)不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財(cái)富,經(jīng)歷是一份擁有。這次課程設(shè)計(jì)必將成為我人生旅途上一個(gè)非常美好的回憶!同時(shí)在做課程設(shè)計(jì)時(shí)要能夠從多方面去考慮,去研究,用多種算法去實(shí)現(xiàn)要求。此次課程設(shè)計(jì),學(xué)到了很多課學(xué)不到的東西,比方獨(dú)立思考解決問(wèn)題,出現(xiàn)過(guò)失的隨機(jī)應(yīng)變,這些都讓我受益非淺,今后的制作應(yīng)該能夠更輕松,自己也都能夠解決并高質(zhì)量的完成工程。第第六六章章致致在此感對(duì)我?guī)椭^(guò)的同學(xué)們,你們對(duì)我的幫助和支持,讓我感受到兄弟的友情。課程設(shè)計(jì)強(qiáng)化了我的對(duì)于數(shù)據(jù)構(gòu)造的根底知識(shí)的認(rèn)識(shí),并且將知識(shí)逐步

23、實(shí)踐化,使得自己對(duì) c 有了更深刻的理解。并真誠(chéng)地感我的數(shù)據(jù)構(gòu)造任課教師曾教師。附錄一參考文獻(xiàn)1譚浩強(qiáng).?C+程序設(shè)計(jì)?.:清華大學(xué),2004 年2嚴(yán)蔚敏,吳偉民.?數(shù)據(jù)構(gòu)造與算法分析C+版第 2 版?.:清華大學(xué),2006 年3 Clifford A. Shaffer,銘著?數(shù)據(jù)構(gòu)造與算法分析C+版第 2 版?.: 電子工業(yè),2021 年4網(wǎng)址:.chinadforce.附錄二程序清單*include*include*include*include-. z*include*include*include*includetypedef struct Department /學(xué)校的構(gòu)造 char

24、 name20; /學(xué)校的名稱 int number; /學(xué)校的編號(hào) int boy; /男子團(tuán)體總分 int girl; /女子團(tuán)體總分 Department *ne*t; Department;typedef struct Sport /運(yùn)開工程構(gòu)造 char name20; /運(yùn)開工程名稱 int isboy; /0 為女工程,1 為男工程 int is3; /0 為取前五名,1 為取前五名 int number; /工程編號(hào) int first; /第一名學(xué)校的編號(hào) int second; /第二名學(xué)校的編號(hào) int third; /第三名學(xué)校的編號(hào) int fourth; /第四名學(xué)

25、校的編號(hào) int fifth; /第五名學(xué)校的編號(hào) Sport *ne*t;Sport;int getint(int a) /字符轉(zhuǎn)換成數(shù)字 return (int)(a-0);Department * head1;/-啟動(dòng)畫面函數(shù)-void Cover() system(color 1b); char line=程序讀取中請(qǐng)耐心等待.; char bar=.; int i,j,k=0,*=0,y=0; for(i=0;i=strlen(line)/2;) system(cls); for(j=0;j9;j+) /改變行坐標(biāo) coutendl; for(j=0;j(75-strlen(line

26、)/2;j+) /改變列坐標(biāo) cout ; for(j=1;j=i;j+) /進(jìn)度顯示器 couti;*-) cout; if(k=4) i+; coutendl; for(j=0;j(75-strlen(line)/2;j+) /行坐標(biāo)定位 cout ; coutline; /輸出線條 coutendl; for(j=0;j(65-strlen(bar)/2;j+) cout ; cout(i+7)*5% Loading; cout.write(bar,k); coutendl; for(j=0;j10;j+) coutendl; for(j=0;j24;j+) cout ; cout程序設(shè)

27、計(jì)員:數(shù)字媒體 09702 班 田野 endl; for(j=0;j24;j+) cout ; for(j=0;j=18;j+) cout; coutendl; for(j=0;j4) k=0; void department_add() /添加學(xué)校 Department * p; int mark=0; p=new Department; coutp-name; char c; while (mark!=1) coutc; if (!isdigit(c)/是否為數(shù)字 -. z cout數(shù)據(jù)非法number=c; p-boy=0; p-girl=0; p-ne*t=head1-ne*t; he

28、ad1-ne*t=p; cout成功添加了一個(gè)學(xué)校ne*t!=NULL) i+; first=first-ne*t; return i;void department_write()/將學(xué)校數(shù)據(jù)寫入文本 Department * p; p=head1; p=p-ne*t; ofstream outfile(Department.t*t,ios:out); outfiledepartment_getlong(p)+1 ; while (p!=NULL) outfilename number boy girlne*t; outfile.close(); coutWrite Success!i;-.

29、 z while(i0) Department * p; p=new Department; infilep-namep-numberp-boyp-girl; p-ne*t=head1-ne*t; head1-ne*t=p; i-; coutDepartment Data Read Success!endl;void department_output(Department *p)/輸出學(xué)校 cout學(xué)校名編號(hào)男團(tuán)總分女團(tuán)總分總分tn;while(p) coutname tnumber)tboytgirlt girl+p-boy)ne*t; int department_ise*ist(int

30、 a)/檢驗(yàn)學(xué)校是否存在 int b=0; Department *p; p=head1; p=p-ne*t; while(p) if(p-number=a) return 1; p=p-ne*t; return 0;void department_show(int a)/輸出所有學(xué)校 Department *p; p=head1; p=p-ne*t; while(p) -. z if(p-number=a) coutnamene*t; coutne*t; while(p) if(p-number=a) cout學(xué)校名:name男子團(tuán)體總分:boy女子團(tuán)體總分:girl總分:boy+p-gir

31、l)ne*t; coutne*t; while(p) if(p-number=b) if(c=1) p-boy=p-boy+a; else p-girl=p-girl+a; -. z p=p-ne*t; void department_order(Department *temp,int type) /type=0 按總分,type=1 按男總分,type=2 按女總分, Department *p,*q,*small,*temp1; temp1=new Department; temp1-ne*t=NULL; p=temp; while(p) small=p; q=p-ne*t; while

32、(q) switch(type) case 0: if(q-boy+q-girl)girl+small-boy) small=q; break; case 1: if(q-boyboy) small=q; break; case 2: if(q-girlgirl) small=q; break; default: couterrorboy=p-boy; p-boy=small-boy; -. z small-boy=temp1-boy; temp1-girl=p-girl; p-girl=small-girl; small-girl=temp1-girl; strcpy(temp1-name,

33、p-name); strcpy(p-name,small-name); strcpy(small-name,temp1-name); temp1-number=p-number; p-number=small-number; small-number=temp1-number; /將學(xué)校的名字互換 q=q-ne*t; p=p-ne*t; Sport * head2;int sport_ise*ist(int a) /檢查運(yùn)開工程(編號(hào))是否已經(jīng)存在 int b=0; Sport *p; p=head2; p=p-ne*t; while(p) if(p-number=a) return 1; p

34、=p-ne*t; return 0;void sport_add() /添加工程 Sport * p; int mark=0; p=new Sport;coutp-name; char c; while (mark!=1) coutc; if (!isdigit(c) cout數(shù)據(jù)非法endl; else if(sport_ise*ist(c) cout該編號(hào)已存在number=c; mark=0; while (mark!=1) coutc; p-isboy=(int)(c-0);/字符轉(zhuǎn)換成數(shù)字 if (!isdigit(c) cout數(shù)據(jù)非法isboyisboy1) cout數(shù)據(jù)非法is

35、boy=c; mark=0; while (mark!=1) coutc; p-is3=(int)(c-0);-. z if (!isdigit(c) cout數(shù)據(jù)非法is3is31) cout數(shù)據(jù)非法is3=c; mark=0; while (mark!=1) coutc; if (!isdigit(c) cout數(shù)據(jù)非法endl; else if(!department_ise*ist(c) coutfirst=c; if(p-is3=0) department_addmark(5,c,p-isboy); else department_addmark(7,c,p-isboy); mark

36、=0; while (mark!=1) coutc; if (!isdigit(c) cout數(shù)據(jù)非法endl; else if(!department_ise*ist(c) coutsecond=c; if(p-is3=0) department_addmark(3,c,p-isboy); else department_addmark(5,c,p-isboy); mark=0; while (mark!=1) coutc; if (!isdigit(c) cout數(shù)據(jù)非法endl; else if(!department_ise*ist(c) coutthird=c; if(p-is3=0

37、) department_addmark(2,c,p-isboy); else-. z department_addmark(3,c,p-isboy); mark=0; if(p-is3=1) while (mark!=1) coutc; if (!isdigit(c) cout數(shù)據(jù)非法endl; else if(!department_ise*ist(c) coutfourth=c; department_addmark(2,c,p-isboy); mark=0; while (mark!=1) coutc; if (!isdigit(c) cout數(shù)據(jù)非法endl; else if(!de

38、partment_ise*ist(c) cout該學(xué)校不存在,請(qǐng)先添加fifth=c; department_addmark(1,c,p-isboy); else p-fourth=0; p-fifth=0; p-ne*t=head2-ne*t; head2-ne*t=p; cout成功添加了一個(gè)運(yùn)開工程ne*t!=NULL) i+; first=first-ne*t; return i;void sport_write() /將工程數(shù)據(jù)寫入文本文檔 Sport * p; p=head2; p=p-ne*t; ofstream outfile(Sport.t*t,ios:out); outfi

39、lesport_getlong(p)+1 ; while (p!=NULL) outfilename number isboy is3 first second third fourth fifthne*t; outfile.close(); coutWrite Success!i; while(i0) Sport * p; p=new Sport; infilep-namep-numberp-isboyp-is3p-firstp-secondp-thirdp-fourthp-fifth; p-ne*t=head2-ne*t; head2-ne*t=p; i-; coutSport Data

40、Read Success!endl;void sport_output(Sport *p) /輸出工程的情況 coutname tNum B/G 3/5 first second third fourth fifth endl; while(p) coutname t number) isboy) is3) first); department_show(p-second); department_show(p-third); department_show(p-fourth); department_show(p-fifth);/printf(n); p=p-ne*t;coutn; coutne*t; while(p) -. z if(p-number=a) cout工程名:nameendlisboy=1) cout男子工程; else cout女子工程; coutendlfirst); coutendlsecond); coutendlthird); coutendlfourth); coutendlfifth); return; p=p-ne*t; coutne*t=NULL; head2=new Sport; head2-ne*t=NULL; /schoo

溫馨提示

  • 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)論