c語(yǔ)言程序設(shè)計(jì)報(bào)告_第1頁(yè)
c語(yǔ)言程序設(shè)計(jì)報(bào)告_第2頁(yè)
c語(yǔ)言程序設(shè)計(jì)報(bào)告_第3頁(yè)
c語(yǔ)言程序設(shè)計(jì)報(bào)告_第4頁(yè)
c語(yǔ)言程序設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩28頁(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、課 程 設(shè) 計(jì) 報(bào) 告課程名稱(chēng) C語(yǔ)言程序設(shè)計(jì) 課題名稱(chēng) 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng) 專(zhuān) 業(yè) 機(jī)械設(shè)計(jì)及其自動(dòng)化 班 級(jí) 1185班 學(xué) 號(hào) 2 姓 名 譚信 指導(dǎo)教師 王穎 2012年6月22日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書(shū)課程名稱(chēng) C語(yǔ)言程序設(shè)計(jì) 課 題 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng) 專(zhuān)業(yè)班級(jí) 機(jī)械設(shè)計(jì)1185 學(xué)生姓名 譚信 學(xué) 號(hào) 2 指導(dǎo)老師 王穎 審 批 王穎 任務(wù)書(shū)下達(dá)日期 2012 年 6 月 1 日任務(wù)完成日期 2012 年 6 月 22 日前 言現(xiàn)代科學(xué)飛速發(fā)展,世界也不斷的變化,人類(lèi)的生活隨著科技的發(fā)展也發(fā)生著驚天動(dòng)地的變化。作為新時(shí)代的大學(xué)生,我們應(yīng)該不斷努力學(xué)習(xí)科學(xué)文化知識(shí),以

2、適應(yīng)社會(huì)的發(fā)展要求,以現(xiàn)代化的科學(xué)知識(shí)為祖國(guó)做貢獻(xiàn)。而C語(yǔ)言作為一種計(jì)算機(jī)語(yǔ)言,無(wú)疑是我們將來(lái)工作不可缺少的一門(mén)技能,所以我們應(yīng)該認(rèn)真學(xué)好C語(yǔ)言。但只是課本上的知識(shí)是不夠的,我們應(yīng)該將從課本上學(xué)到的理論知識(shí)應(yīng)用到實(shí)踐中,通過(guò)不斷的實(shí)踐,在實(shí)踐中發(fā)現(xiàn)錯(cuò)誤解決錯(cuò)誤,并不斷創(chuàng)新,最后能熟練的運(yùn)用所學(xué)的知識(shí),充分掌握這種工具。就現(xiàn)有知識(shí)水平、經(jīng)驗(yàn)來(lái)看,對(duì)我來(lái)說(shuō),本程序的算法設(shè)計(jì)上已經(jīng)是最精簡(jiǎn)的了。C語(yǔ)言知識(shí)博大精深,有必要對(duì)C語(yǔ)言的專(zhuān)著進(jìn)行研究學(xué)習(xí),多閱讀別人的程序代碼、多動(dòng)手實(shí)踐操作與設(shè)計(jì),這樣便對(duì)程序算法精簡(jiǎn)改進(jìn)提供了可能。想學(xué)的更深更透徹的話就必須進(jìn)一步掌握運(yùn)用C進(jìn)行程序設(shè)計(jì)的能力;進(jìn)一步理解和

3、運(yùn)用面向過(guò)程程序設(shè)計(jì)的思想和方法;初步掌握開(kāi)發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法;學(xué)會(huì)調(diào)試一個(gè)較長(zhǎng)程序的基本方法;學(xué)會(huì)利用互聯(lián)網(wǎng)查找相關(guān)的知識(shí)并學(xué)習(xí);學(xué)海之路何其寬廣,有必要讓我們孜孜不倦的求索下去。目 錄緒 論.1第一章 需求分析1.1 程序的功能及要求.51.2 系統(tǒng)的性能要求.51.3 測(cè)試數(shù)據(jù).6第二章 概要設(shè)計(jì)2.1 結(jié)構(gòu)體.62.2 主程序(main).62.3 模塊的功能.62.4 程序模塊機(jī)之間的調(diào)用關(guān)系.7第三章 詳細(xì)設(shè)計(jì)3.1 宏定義.83.2 數(shù)據(jù)類(lèi)型定義.83.3 函數(shù)之間的調(diào)用關(guān)系圖.83.4 算法設(shè)計(jì) .9第四章 調(diào)試分析4.1 不足之處.104.2 錯(cuò)誤規(guī)范.104.3

4、算法的時(shí)空分析.104.4 存在的問(wèn)題.10第五章 測(cè)試結(jié)果.11第六章 用戶使用手冊(cè)6.1 運(yùn)行環(huán)境.126.2 用戶界面.126.3 操作過(guò)程.13第七章 參考文獻(xiàn).14第八章 設(shè)計(jì)體會(huì).15第九章 附錄.17課程設(shè)計(jì)評(píng)分表.29緒 論運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)是一個(gè)方便管理各項(xiàng)分?jǐn)?shù)標(biāo)準(zhǔn)的一個(gè)程序,有了這個(gè)程序,可以吧每一個(gè)同學(xué)的信息及成績(jī)都保留下來(lái),為評(píng)比成績(jī)和得優(yōu)提供方便,程序的順利及簡(jiǎn)便運(yùn)行時(shí)現(xiàn)在科學(xué)不可缺少的一部分,有了程序的幫助,我們做任何事都能事半功倍,提高效率,節(jié)省時(shí)間。根據(jù)任務(wù)書(shū)的綜合要求,本系統(tǒng)的開(kāi)發(fā)主要完成以下功能和性能。(1) 學(xué)生成績(jī)查詢(xún)系統(tǒng),成績(jī)錄入、增加、刪除、修改,數(shù)

5、據(jù)查詢(xún),排序顯示構(gòu)成。(2) 按學(xué)生總分及學(xué)校編號(hào),分為有男女組,有團(tuán)體組,有前三名和前五名之分。(3) 按項(xiàng)目編號(hào)查詢(xún)即奇偶性取得前三或前五名的學(xué)?;蛘呔幪?hào)來(lái)查詢(xún)所得總分(4) 另外還涉及包括系統(tǒng)的功能分析、系統(tǒng)的功能模塊設(shè)計(jì)、程序流程圖或結(jié)構(gòu)框圖、邏輯結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)庫(kù)中的表、視圖等各功能板塊。一、目的全面熟悉、掌握C語(yǔ)言基本知識(shí),掌握C程序設(shè)計(jì)中的順序、分支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)和C語(yǔ)言基本圖形編程等方法,把編程和實(shí)際結(jié)合起來(lái),增強(qiáng)對(duì)不同的問(wèn)題運(yùn)用和靈活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及算法描述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用計(jì)算機(jī)解決

6、實(shí)際問(wèn)題的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范編程的思想,為以后在專(zhuān)業(yè)課程中應(yīng)用計(jì)算機(jī)系統(tǒng)解決計(jì)算、分析、實(shí)驗(yàn)和設(shè)計(jì)等學(xué)習(xí)環(huán)節(jié)打下較扎實(shí)的基礎(chǔ)。二、設(shè)計(jì)要求掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問(wèn)題,為將來(lái)編寫(xiě)軟件積累一些典型的案例處理經(jīng)驗(yàn)。1. 設(shè)計(jì)正確,方案合理。2. 界面友好,使用方便。3. 程序精煉,結(jié)構(gòu)清晰。4. 設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說(shuō)明,用戶使用說(shuō)明,源程序清單及程序框圖。5. 上機(jī)演示。6. 按學(xué)號(hào)順序選課題號(hào),并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的C源程序編寫(xiě)、調(diào)整和運(yùn)行。源程序及編譯生成各文件均保存在軟盤(pán)中;7. 按本任務(wù)書(shū)的要求

7、,按附錄的要求編寫(xiě)課程設(shè)計(jì)報(bào)告(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂; 8. 在2012年6月24日之前,請(qǐng)各班學(xué)習(xí)委員收齊課程設(shè)計(jì)報(bào)告和源程序軟盤(pán)交王穎老師 ,聯(lián)系電話:。三、進(jìn)度安排第一周 星期四: 課題講解,查閱資料第二周星期一: 總體設(shè)計(jì),詳細(xì)設(shè)計(jì)星期二: 編程,上機(jī)調(diào)試、修改程序星期三: 上機(jī)調(diào)試、完善程序星期四: 上機(jī)調(diào)試、完善程序星期五: 答辯星期六-星期天:撰寫(xiě)課程設(shè)計(jì)報(bào)告一、問(wèn)題描述:參加運(yùn)動(dòng)會(huì)的n個(gè)學(xué)校編號(hào)為ln。比賽分成m個(gè)男子項(xiàng)目和w個(gè)女子項(xiàng)目,項(xiàng)目編號(hào)分別為lm和m1mw。由于各項(xiàng)目參加人數(shù)差別較大,有些項(xiàng)目取前五名,得分順序?yàn)?,5,3,2,1;還有些項(xiàng)目

8、只取前三名,得分順序?yàn)?,3,2。設(shè)計(jì)一個(gè)統(tǒng)計(jì)程序按名次產(chǎn)生各種成績(jī)單、得分報(bào)表。二、基本要求:1.產(chǎn)生各學(xué)校的成績(jī)單,內(nèi)容包括各校所取得的每項(xiàng)成績(jī)的項(xiàng)目號(hào)、名次、成績(jī)、姓名和得分;產(chǎn)生團(tuán)體總分報(bào)表,內(nèi)容包括校號(hào)、男子團(tuán)體總分、女子團(tuán)體總分和團(tuán)體總分;均按名次排序。2.比賽項(xiàng)目既要有徑賽,又要有田賽。三、測(cè)試數(shù)據(jù):對(duì)于n=4,m=3,w=2,編號(hào)為奇數(shù)的項(xiàng)目取前五名,編號(hào)為偶數(shù)的項(xiàng)目取前三名,設(shè)計(jì)一組實(shí)例數(shù)據(jù)。四、實(shí)現(xiàn)提示:1 數(shù)據(jù)結(jié)構(gòu):線性表2 數(shù)據(jù)庫(kù)結(jié)構(gòu):下面四張表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫(kù),全部輸出報(bào)表由系統(tǒng)根據(jù)基本表自動(dòng)生成。表 1-1floatcharcharcharcharchar成績(jī)

9、類(lèi)型性別項(xiàng)目編號(hào)學(xué)校編號(hào)運(yùn)動(dòng)員編號(hào) 表 1-2姓名運(yùn)動(dòng)員編號(hào)初始化時(shí)完成錄入校名學(xué)校編號(hào)項(xiàng)目名項(xiàng)目編號(hào)3. 可以假設(shè)n20,m30,w20,姓名長(zhǎng)度不超過(guò)20個(gè)字符。每個(gè)項(xiàng)目結(jié)束時(shí),將其編號(hào)、類(lèi)型符(區(qū)分取前五名還是前三名)輸入,并輸入運(yùn)動(dòng)員編號(hào)、學(xué)校編號(hào)和成績(jī)等。五、選作內(nèi)容:允許用戶指定某項(xiàng)目采取其他名次取法。比如例圖法,結(jié)構(gòu)圖系法,樹(shù)狀法,等等。每個(gè)人的思維都是有所不同的,程序的設(shè)計(jì)故也是千差萬(wàn)別,有簡(jiǎn)單與復(fù)雜之分。編號(hào)的不同也是選取方法不同的標(biāo)準(zhǔn)之一,運(yùn)用數(shù)組和指針我覺(jué)得是比較實(shí)用的,對(duì)于各種數(shù)據(jù)的組合來(lái)說(shuō)。所以,只要程序符合,方法不一。第一章 需求分析1. 程序的功能及要求參加運(yùn)動(dòng)會(huì)

10、有n個(gè)學(xué)校,學(xué)校編號(hào)為1n。比賽分成m個(gè)男子項(xiàng)目,和w個(gè)女子項(xiàng)目。項(xiàng)目編號(hào)為男子1m,女子m+1m+w。不同的項(xiàng)目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些項(xiàng)目取前五名或前三名由學(xué)生自己設(shè)定。(m<=20,n<=20)1) 可以輸入各個(gè)項(xiàng)目的前三名或前五名的成績(jī);2) 能統(tǒng)計(jì)各學(xué)??偡郑?3) 可以按學(xué)校編號(hào)、學(xué)??偡?、男女團(tuán)體總分排序輸出; 4) 可以按學(xué)校編號(hào)查詢(xún)學(xué)校某個(gè)項(xiàng)目的情況;5) 可以按項(xiàng)目編號(hào)查詢(xún)即奇偶性取得前三或前五名的學(xué)校。根據(jù)C+課程所學(xué)的概念、理論和方法,按照C+程序設(shè)計(jì)的基本步驟,設(shè)計(jì)出一個(gè)適當(dāng)規(guī)模的

11、程序來(lái)實(shí)現(xiàn)設(shè)計(jì)課程內(nèi)容中的全部功能;設(shè)計(jì)主控模塊程序?qū)o出的程序源代碼要給出各部分的詳細(xì)注釋自己根據(jù)能力及需要添加相應(yīng)功能模塊,增強(qiáng)模擬系統(tǒng)功能。包括系統(tǒng)的功能分析、系統(tǒng)的功能模塊設(shè)計(jì)、程序流程圖或結(jié)構(gòu)框圖、邏輯結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)庫(kù)中的表、視圖(如果使用)、索引的結(jié)構(gòu)和定義、觸發(fā)器、存儲(chǔ)過(guò)程、課程設(shè)計(jì)體會(huì)。2. 系統(tǒng)性能要求:a. 系統(tǒng)安全、可靠;b. 功能齊全;c. 操作方便、界面友好;d. 易于維護(hù)和擴(kuò)充。3.測(cè)試數(shù)據(jù)1)首先進(jìn)入成績(jī)錄入界面,先輸入學(xué)校編號(hào)1,再輸入學(xué)校1各個(gè)項(xiàng)目成績(jī)0或1(0表示沒(méi)獲得該項(xiàng)目的該名次,1表示獲得了該項(xiàng)目的該名次);然后再輸入第二個(gè)學(xué)校編號(hào)2,再輸入成績(jī);當(dāng)輸

12、入其他的學(xué)校編號(hào)和成績(jī)會(huì)提示錯(cuò)誤輸入,重新輸入。 2)然后進(jìn)入總目錄,輸入 :1 統(tǒng)計(jì)各學(xué)??偡植⑤敵觯?3)輸入:2 按學(xué)校編號(hào)排序輸出; 4)輸入:3 按學(xué)??偡峙判蜉敵?; 5)輸入:4 按男團(tuán)體總分排序輸出; 6)輸入: 5 按女團(tuán)體總分排序輸出; 7) 輸入:6 按學(xué)校編號(hào)查詢(xún)學(xué)校某個(gè)項(xiàng)目情況; 8)輸入:7 按項(xiàng)目編號(hào)查詢(xún)?nèi)〉妹蔚膶W(xué)校; 9)輸入:0 退出系統(tǒng); 10)輸入其他數(shù)據(jù)會(huì)提示錯(cuò)誤輸入,重新輸入。第二章 概要設(shè)計(jì) 1. 結(jié)構(gòu)體運(yùn)動(dòng)項(xiàng)目 項(xiàng)目編號(hào) ;名次;學(xué)校 學(xué)校編號(hào);項(xiàng)目;團(tuán)體總分;男團(tuán)體總分;女團(tuán)體總分;2. 主程序(main) 包括登陸歡迎程序,分?jǐn)?shù)錄入程序,查詢(xún)程

13、序,退出程序3. 系統(tǒng)功能模塊學(xué)生成績(jī)查詢(xún)系統(tǒng)有:成績(jī)錄入、增加、刪除、修改,數(shù)據(jù)查詢(xún),排序顯示構(gòu)成。4. 程序模塊機(jī)之間的調(diào)用關(guān)系 流程圖 啟動(dòng)程序 錄入分?jǐn)?shù) 顯示主目錄統(tǒng)計(jì)各學(xué)??偡职磳W(xué)校編號(hào)排序按學(xué)校總分排序按女團(tuán)體總分排序按學(xué)校編號(hào)查詢(xún)學(xué)校某個(gè)項(xiàng)目情況查詢(xún)學(xué)校某個(gè)項(xiàng)目情況按男團(tuán)體總分排序按項(xiàng)目編號(hào)查詢(xún)?nèi)〉妹蔚膶W(xué)校退出系統(tǒng)用戶選擇某命令,產(chǎn)生相應(yīng)的操作顯示結(jié)果,用戶選擇返回主目錄或退出退出程序圖1第三章 詳細(xì)設(shè)計(jì)1、宏定義:#define N 2#define bm 4#define gm 32、數(shù)據(jù)類(lèi)型定義 (1) 運(yùn)動(dòng)項(xiàng)目的定義: struct matchint matchnum;

14、int rank3;matbm+gm;(2) 學(xué)校的定義: struct schoolint schoolnum;struct match matbm+gm;int total;int boytotal;int girltotal;schN;3、 函數(shù)之間的調(diào)用關(guān)系表 1-3mainxunhuantotaljisuaninputhuanyingnifunct4funct6funct5funct3funct2funct1funct0mulufunct7system4、 算法設(shè)計(jì) 主要算法的設(shè)計(jì)思想:本程序主要是使用順序表來(lái)實(shí)現(xiàn)操作。一個(gè)運(yùn)動(dòng)會(huì)包括運(yùn)動(dòng)項(xiàng)目和參加運(yùn)動(dòng)會(huì)的學(xué)校。因此構(gòu)造順序表matc

15、h,school。為了操作的方便,設(shè)計(jì)了一個(gè)總目錄,選擇相應(yīng)序號(hào)進(jìn)入各個(gè)操作,并有錯(cuò)誤提示,每完成一個(gè)操作程序會(huì)提示選擇返回目錄或退出程序,對(duì)于總分的排序使用了冒泡排序。為了使整個(gè)程序界面看起來(lái)更加愜意,又添加了背景和字體顏色設(shè)置的程序語(yǔ)句。每個(gè)操作前都有操作指南,易于使用。第四章 調(diào)試分析 1、不足之處。由于剛開(kāi)始程序比較簡(jiǎn)單,雖能運(yùn)行,但處理錯(cuò)誤的能力很低,后來(lái)經(jīng)過(guò)反復(fù)的添加修改,使程序能處理了錯(cuò)誤,提高了健壯性。課程設(shè)計(jì)中我遇到了很多的問(wèn)題,剛剛開(kāi)始的時(shí)候問(wèn)題特別多??雌饋?lái)簡(jiǎn)單的句子往往也會(huì)出錯(cuò),比如剛開(kāi)始的時(shí)候用for語(yǔ)句時(shí),總會(huì)報(bào)錯(cuò);說(shuō)用的不對(duì)。但檢查了好幾遍也看不出問(wèn)題,問(wèn)了旁邊的

16、同學(xué)他也不知道怎么回事,最后去問(wèn)老師,才知道原來(lái)我的for語(yǔ)句中用的是“,”號(hào),而事實(shí)上應(yīng)該用“;”號(hào)。開(kāi)始做的題目,問(wèn)題簡(jiǎn)單思路清晰,但我總在語(yǔ)句上出錯(cuò),我只好對(duì)著書(shū)本一個(gè)一個(gè)檢查我的語(yǔ)句,了解它的用法。慢慢的各種語(yǔ)句運(yùn)用使就不再出錯(cuò)了。但是到了后來(lái)題目漸漸變難,有時(shí)都沒(méi)有思路,這讓我只好慢慢想,通過(guò)和同學(xué)的討論和對(duì)相關(guān)例題的解讀才慢慢有了思路。再通過(guò)不斷的修改實(shí)驗(yàn),最終得到了正確結(jié)果。2、錯(cuò)誤規(guī)范。開(kāi)始編時(shí)由于不太規(guī)范,編譯出錯(cuò)后由于程序長(zhǎng),很難找到錯(cuò)誤,后來(lái)規(guī)范了格式,錯(cuò)誤容易找到了,以后編程要規(guī)范。3、算法的時(shí)空分析。線性表使用的是順序結(jié)構(gòu),各種算法的時(shí)間復(fù)雜度相對(duì)比較合理4、存在的問(wèn)

17、題。本程序相對(duì)來(lái)說(shuō)比較容易看明白,其中涉及到的一些函數(shù)相對(duì)來(lái)說(shuō)比較容易。通過(guò)調(diào)試,運(yùn)行,基本上達(dá)到了要求,但還存在一些缺點(diǎn)。如:不夠人性化等。第五章 測(cè)試結(jié)果<1>數(shù)據(jù)輸入(輸入成績(jī)?nèi)鐖D)圖1- 1輸入:請(qǐng)輸入學(xué)校編號(hào):1項(xiàng)目編號(hào)1234567第<1>名: 1 1 1 1 1 1 0第<2>名: 1 1 1 1 1 0 0第<3>名: 1 1 1 1 0 0 0請(qǐng)輸入學(xué)校編號(hào): 2項(xiàng)目編號(hào) 1 2 3 4 5 6 7第<1>名: 1 1 1 0 0 1 0第<2>名: 0 0 1 0 1 1 1第<3>名: 0

18、 1 0 1 1 1 0輸入成績(jī)后出現(xiàn)總目錄(下圖);圖1- 2(1) 輸入:1 輸出:圖1- 3(2) 輸入:1 返回總目錄,再輸入:2輸出:圖1- 4(3) 輸入:1 返回總目錄,再輸入:3輸出:圖1- 5(4) 輸入:1 返回總目錄,再輸入:4輸出:圖1- 6(5) 輸入:1 返回總目錄,再輸入:5輸出:圖1- 7(6) 輸入:1 返回總目錄,再輸入:6,學(xué)校編號(hào)輸入:1,項(xiàng)目編號(hào)輸入:5輸出:圖1- 8(7) 輸入:2,返回上一級(jí),再輸入學(xué)校編號(hào):2,項(xiàng)目編號(hào):1輸出:圖1- 9(8) 輸入:1,返回總目錄;再輸入:7,輸入項(xiàng)目編號(hào):7輸出:圖1 10-(9) 如果輸入提示外的數(shù)字,例

19、如輸入:4則輸出錯(cuò)誤提示:圖1- 11(10) 輸入:0 輸出:圖1- 12第六章 用戶使用手冊(cè) 1、運(yùn)行環(huán)境 Windows,VC+6.0 2、用戶界面 圖1- 13圖1- 143、 操作過(guò)程 (1)用戶進(jìn)入運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)程序歡迎界面 (2)錄入成績(jī),先輸入要輸入的學(xué)校編號(hào),1或2;再輸入對(duì)應(yīng)學(xué)校的1-7項(xiàng)目的成績(jī)(成績(jī)用0或1:0表示沒(méi)獲得該項(xiàng)目的該名次,1表示獲得了該項(xiàng)目的該名次)當(dāng)成績(jī)錄入錯(cuò)誤時(shí)會(huì)有錯(cuò)誤提示。 (3)進(jìn)入總目錄,按提示,輸入0-7中的一個(gè)數(shù); 輸入:0 則推出系統(tǒng); 輸入:1 統(tǒng)計(jì)各學(xué)??偡植⑤敵?;然后選擇0或1(0表示退出系統(tǒng),1表示返回總目錄); 輸入:2 按學(xué)

20、校編號(hào)排序輸出;然后選擇0或1(0表示退出系統(tǒng),1表示返回總目錄); 輸入:3 按學(xué)??偡峙判蜉敵?;然后選擇0或1(0表示退出系統(tǒng),1表示返回總目錄); 輸入:4 按男團(tuán)體總分排序輸出;然后選擇0或1(0表示退出系統(tǒng),1表示返回總目錄); 輸入:5 按女團(tuán)體總分排序輸出;然后選擇0或1(0表示退出系統(tǒng),1表示返回總目錄); 輸入:6 按學(xué)校編號(hào)查詢(xún)學(xué)校某個(gè)項(xiàng)目編號(hào);選擇學(xué)校編號(hào)1或2;然后選擇項(xiàng)目編號(hào)1-7;輸出項(xiàng)目成績(jī);然后選擇0或1或2(0表示退出系統(tǒng),1表示返回總目錄,2表示返回上一級(jí)); 輸入:7 按項(xiàng)目編號(hào)查詢(xún)?nèi)〉妹蔚膶W(xué)校;選擇項(xiàng)目編號(hào)1-7;輸出成績(jī);然后選擇0或1或2(0表示退

21、出系統(tǒng),1表示返回總目錄,2表示返回上一級(jí));第七章 參考文獻(xiàn)(1) C程序設(shè)計(jì) (第三版) 作者:譚浩強(qiáng) 清華大學(xué)出版社(2) 數(shù)據(jù)結(jié)構(gòu) (C語(yǔ)言版) 作者:嚴(yán)蔚敏,吳偉民 出版社:清華大學(xué)出版社(3) 數(shù)據(jù)結(jié)構(gòu)題集 (C語(yǔ)言版)作者:嚴(yán)蔚敏,吳偉民 出版社:清華大學(xué)出版社(4) c語(yǔ)言程序設(shè)計(jì) (c語(yǔ)言版) 作者:陳世清 出版社:浙江大學(xué)出版社(5) C語(yǔ)言程序設(shè)計(jì)教程 作者:譚浩強(qiáng)等 出版社:高等教育出版社(6) C程序設(shè)計(jì) 作者:譚浩強(qiáng) 出版社:北京清華大學(xué)出版社(7) C語(yǔ)言程序設(shè)計(jì) 作者:郭浩志 出版社:北京郵電大學(xué)出版社(8) C陷阱與缺陷 作者:譚浩強(qiáng)、張基溫 出版社:人民郵電

22、出版社(9) C程序設(shè)計(jì)經(jīng)典教程 作者:譚浩強(qiáng) 出版社:清華大學(xué)出版社第八章 設(shè)計(jì)體會(huì)通過(guò)這次為期一周的課程設(shè)計(jì),正確的寫(xiě)出一個(gè)程序需要平時(shí)不斷地努力,不斷地實(shí)踐,從實(shí)踐中了解經(jīng)常犯的錯(cuò)誤。我們不能知識(shí)著手于書(shū)本上的理論知識(shí),還應(yīng)該不斷實(shí)驗(yàn),有些東西是書(shū)本上沒(méi)有的,只能通過(guò)時(shí)間學(xué)習(xí)到。但同時(shí)我們也不能離開(kāi)書(shū)本上的理論,理論可以使我們更加了解它的工作原理。更加準(zhǔn)確的把握各種算法和語(yǔ)言。有了理論的基礎(chǔ),我們?cè)趯?shí)踐上也就更容易上手。所以我們應(yīng)該理論聯(lián)系實(shí)踐,學(xué)好C語(yǔ)言,提高編程能力。本次課程設(shè)計(jì)檢驗(yàn)了我的實(shí)踐能力,感覺(jué)自己還有許多東西要學(xué)習(xí),并不僅限于課本上的知識(shí),實(shí)踐才是真理,在學(xué)習(xí)中實(shí)踐,實(shí)踐中

23、去學(xué)習(xí)。學(xué)習(xí)的路很長(zhǎng)。再有要多問(wèn),幾個(gè)人共同討論會(huì)有意想不到的效果。其實(shí)這些通過(guò)最近的課程設(shè)計(jì)覺(jué)得最重要一點(diǎn)就是:我們一定要自己動(dòng)手,這樣才能真正的學(xué)到東西。書(shū)本知識(shí)固然重要,但我們更要學(xué)會(huì)將書(shū)本知識(shí)應(yīng)用到實(shí)際中才會(huì)發(fā)現(xiàn)錯(cuò)誤,也才能改進(jìn),才能達(dá)到學(xué)習(xí)的最終目的。而且我也總結(jié)出了一點(diǎn)點(diǎn)的經(jīng)驗(yàn)如下:1、要對(duì)系統(tǒng)的功能和要求做出詳細(xì)的分析,并合理分解任務(wù)。 2、把分解出來(lái)的子任務(wù),做給一個(gè)相對(duì)獨(dú)立的模塊。 3、在設(shè)計(jì)一個(gè)模塊之前,要簡(jiǎn)單構(gòu)想一下總界面的顯視情況。 4、針對(duì)構(gòu)想出來(lái)的界面進(jìn)行程序的編寫(xiě)。如此我對(duì)C語(yǔ)言的編程實(shí)踐更有所認(rèn)識(shí)。在遇到程序調(diào)試不通過(guò)時(shí),會(huì)通過(guò)縮小范圍的分析來(lái)鎖定問(wèn)題所在。通過(guò)

24、這次實(shí)驗(yàn),熟悉了從自然語(yǔ)言轉(zhuǎn)換成偽代碼再轉(zhuǎn)換為流程圖的過(guò)程。在程序中設(shè)定合適的全局變量,可以簡(jiǎn)化程序的編寫(xiě)難度。運(yùn)用函數(shù)可以減少編寫(xiě)時(shí)的代碼量,也使程序條理清晰。通過(guò)本次C語(yǔ)言上機(jī)實(shí)驗(yàn),我對(duì)這個(gè)介于人類(lèi)與非人類(lèi)之間的計(jì)算機(jī)編程語(yǔ)言有了一定的體驗(yàn)。隨著實(shí)驗(yàn)的成功與報(bào)告的完成,有點(diǎn)微微的成就感使人難忘。伴隨著學(xué)習(xí)的深入,我發(fā)現(xiàn)高深的東西還有很多很多,等待著我自己去挖掘。對(duì)C語(yǔ)言的學(xué)習(xí),我會(huì)加倍努力。這次課程設(shè)計(jì)雖然只有短短的兩周時(shí)間,但此過(guò)程中我得到的收獲卻沒(méi)有時(shí)間的界限。在這期間,我有剛開(kāi)始對(duì)于設(shè)計(jì)的茫然,也有設(shè)計(jì)過(guò)程中面對(duì)不熟悉的知識(shí)的焦急,更有面對(duì)程序運(yùn)行出錯(cuò)時(shí)的惆悵,同時(shí)還有當(dāng)自己把設(shè)計(jì)的

25、思路一點(diǎn)點(diǎn)想清楚,把程序代碼上出現(xiàn)的錯(cuò)誤一個(gè)個(gè)改正確,把程序成功運(yùn)行出來(lái)的那份難以表述的喜悅!成功的背后有過(guò)一絲絲彷徨,但撥開(kāi)烏云的天空通??吹降氖敲利惖牟屎纾×硗鈱?duì)于我精神上的收獲確實(shí)不少,學(xué)習(xí)上也受益匪淺。通過(guò)這次“運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)”課題的設(shè)計(jì),通過(guò)這個(gè)階段的實(shí)踐,使我對(duì)C語(yǔ)言進(jìn)行了深入的學(xué)習(xí)。同時(shí)設(shè)計(jì)的過(guò)程中,為了實(shí)現(xiàn)預(yù)期的功能,我利用了圖書(shū)館內(nèi)相關(guān)的資料進(jìn)行參考,也使我懂得一些初次學(xué)習(xí)過(guò)程中不太熟悉的知識(shí)。在實(shí)踐中,我利用圖書(shū)館和網(wǎng)絡(luò),查找了相關(guān)的信息。也明確在以后的學(xué)習(xí)過(guò)程中,我應(yīng)該多利用這些有效的途徑來(lái)充實(shí)自己的知識(shí)點(diǎn),學(xué)習(xí)得更深入,“善假于物”也是一種有效的學(xué)習(xí)方法。在程序調(diào)試

26、的過(guò)程中,遇到了好幾個(gè)自己沒(méi)能及時(shí)解決的問(wèn)題,我選擇的是請(qǐng)教老師和同學(xué),在你們的指導(dǎo)下,我成功調(diào)試出程序。學(xué)習(xí)的過(guò)程除了需要自己要獨(dú)立思考問(wèn)題之外,還應(yīng)該要有與他人的互動(dòng)。我想這也就是集體的智慧,團(tuán)結(jié)的力量!在此過(guò)程中,我也發(fā)現(xiàn)了許多自己的不足。在我剛開(kāi)始設(shè)計(jì)的時(shí)候,頭腦里沒(méi)有一點(diǎn)清晰的思路,這就與平時(shí)自己看得少,練得少有關(guān)系。所以我覺(jué)得學(xué)習(xí)任何一門(mén)語(yǔ)言還是需要多看書(shū),多編寫(xiě)程序,特別是當(dāng)自己突然有一絲靈感的時(shí)候,最好記錄下來(lái),甚至把它想出來(lái),想明白。實(shí)踐的過(guò)程中,要明確自己寫(xiě)這些程序是為了達(dá)到什么目的,實(shí)踐后,要考慮這樣編寫(xiě)是不是最好的,還能不能做其它方法來(lái)做,在編寫(xiě)這個(gè)程序中遇到了什么樣的

27、錯(cuò)誤,為什么會(huì)遇到,以后應(yīng)該怎樣避免。這樣的學(xué)習(xí),就會(huì)更深入,學(xué)習(xí)得更好!雖然我的課程設(shè)計(jì)師存在許多的問(wèn)題,究其原因還是因?yàn)樽约浩綍r(shí)沒(méi)有認(rèn)真聽(tīng)老師講課,但是我還是希望老師能夠白忙中抽空看看我的課程設(shè)計(jì)的報(bào)告,我將非常感謝第九章 附錄1、 源程序#include<stdio.h>#include<process.h>#define N 2 /學(xué)校個(gè)數(shù)#define bm 4 /男團(tuán)體個(gè)數(shù)#define gm 3 /女團(tuán)體個(gè)數(shù)void xuanze();void xunhuan();struct match /項(xiàng)目int matchnum;int rank3;matbm+g

28、m;struct school /學(xué)校int schoolnum;struct match matbm+gm;int total;int boytotal;int girltotal;schN;void huanyingni() /*開(kāi)始界面,歡迎使用*/printf("nn 湖南工程應(yīng)用技術(shù)學(xué)院機(jī)設(shè)1185班 譚信nnn");printf("t*_ _ _ _ _ _ _ _ _ _ _ _ _ _*nn");printf(" 歡迎使用運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)nn");printf("t*_ _ _ _ _ _ _ _ _ _

29、_ _ _ _*nn ");void input() /輸入成績(jī)int i,j,k;for(i=0;i<N;i+) /初始化分?jǐn)?shù)schi.total=0;schi.boytotal=0;schi.girltotal=0;for(k=0;k<bm+gm;k+)schi.matk.rank0=0;schi.matk.rank1=0;schi.matk.rank2=0;schi.matk.matchnum=k+1;printf("*輸入成績(jī)*n"); printf("#輸入說(shuō)明:n"); printf(" 1.學(xué)校編號(hào)為1-%d

30、; 項(xiàng)目編號(hào)為1-%d (1-%d為男子項(xiàng)目,%d-%d為女子項(xiàng)目).n",N,bm+gm,bm,bm+1,bm+gm); printf(" 2. 成績(jī)只能是'0'或'1'n('0'表示沒(méi)獲得該項(xiàng)目的該名次,'1'表示獲得了該項(xiàng)目的該名次.以'Tab'鍵前進(jìn)。)n",N);for(i=0;i<N;i+) printf("*請(qǐng)輸入學(xué)校編號(hào): ");loop3:scanf("%d",&schi.schoolnum); if(schi.s

31、choolnum<0|schi.schoolnum>N) printf("輸入錯(cuò)誤(只能是1-%d)請(qǐng)重新輸入:",N); goto loop3; printf("項(xiàng)目編號(hào)"); for(k=0;k<bm+gm;k+) printf("%d",schi.matk.matchnum); printf("n"); for(j=0;j<3;j+) loop: printf("第(%d)名:",j+1); for(k=0;k<bm+gm;k+) scanf("%d

32、",&schi.matk.rankj); for(k=0;k<bm+gm;k+) if(schi.matk.rankj!=0&&schi.matk.rankj!=1) printf("輸入錯(cuò)誤,請(qǐng)重新輸入,成績(jī)只能是'0'或'1'n"); goto loop; void totaljisuan()int i,k,b; for(i=0;i<N;i+)for(k=0,b=0;k<bm+gm;k+) b=schi.matk.rank0*5+schi.matk.rank1*3+schi.matk.r

33、ank2*2; schi.total=schi.total+b;if(k<bm) schi.boytotal=schi.boytotal+b;if(k>=bm)schi.girltotal=schi.girltotal+b;void mulu()printf("nn *系統(tǒng)目錄*n"); /目錄printf("tt *n");printf("tt* 1.統(tǒng)計(jì)各學(xué)校總分 *t n");printf("tt* 2.按學(xué)校編號(hào)排序輸出 *t n");printf("tt* 3.按學(xué)??偡峙判蜉敵?*

34、t n");printf("tt* 4.按男團(tuán)體總分排序輸出 *t n");printf("tt* 5.按女團(tuán)體總分排序輸出 *t n");printf("tt* 6.按學(xué)校編號(hào)查詢(xún)學(xué)校某個(gè)項(xiàng)目情況 *t n");printf("tt* 7.按項(xiàng)目編號(hào)查詢(xún)?nèi)〉妹蔚膶W(xué)校 *t n");printf("tt* 0.退出 *t n");printf("tt *n");void funct0() /退出系統(tǒng)printf("ntt* 謝謝使用! *n")

35、;printf("ntt* 謝謝使用! *n");exit(0);void funct1() /統(tǒng)計(jì)各學(xué)??偡?int i,q;printf("*統(tǒng)計(jì)各學(xué)??偡?n"); printf("*學(xué)校編號(hào)*tttt*總分*n"); for(i=0;i<N;i+) printf("t%dtttt%dn",schi.schoolnum,schi.total);printf("n");printf("n");printf("# 0:退出;1:返回目錄。n");p

36、rintf("*請(qǐng)選擇: ");loop2:scanf("%d",&q);if(q=0) funct0();if(q=1) xunhuan(); else printf("輸入錯(cuò)誤(只能是0或1),請(qǐng)重新輸入:"); goto loop2;void funct2() /按學(xué)校編號(hào)排序struct school sch1;int i,j,q;for(j=0;j<N-1;j+)for(i=0;i<N-j-1;i+)if(schi.schoolnum>schi+1.schoolnum)sch1=schi;schi=

37、schi+1;schi+1=sch1; printf("*按學(xué)校編號(hào)排序*n");printf("*學(xué)校編號(hào)*tttt*總分*n"); for(i=0;i<N;i+) printf("t%dtttt%dn",schi.schoolnum,schi.total);printf("n");printf("n");printf("# 0:退出;1:返回目錄。n");printf("*請(qǐng)選擇: ");loop2:scanf("%d",&a

38、mp;q);if(q=0) funct0();if(q=1) xunhuan(); else printf("輸入錯(cuò)誤(只能是0或1),請(qǐng)重新輸入:"); goto loop2; void funct3() /按學(xué)??偡峙判?struct school sch1;int i,j,q;for(j=0;j<N-1;j+)for(i=0;i<N-j-1;i+)if(schi.total<schi+1.total)sch1=schi;schi=schi+1;schi+1=sch1; printf("*按學(xué)校總分排序*n");printf(&qu

39、ot;*學(xué)校編號(hào)*tttt*總分*n"); for(i=0;i<N;i+) printf("t%dtttt%dn",schi.schoolnum,schi.total); printf("n");printf("n");printf("# 0:退出;1:返回目錄。n");printf("*請(qǐng)選擇: ");loop2:scanf("%d",&q);if(q=0) funct0();if(q=1) xunhuan(); else printf("

40、輸入錯(cuò)誤(只能是0或1),請(qǐng)重新輸入:"); goto loop2;void funct4() /按男團(tuán)體總分排序 struct school sch1;int i,j,q;for(j=0;j<N-1;j+)for(i=0;i<N-j-1;i+)if(schi.boytotal<schi+1.boytotal)sch1=schi;schi=schi+1;schi+1=sch1; printf("*按男團(tuán)體總分排序*n");printf(" *學(xué)校編號(hào)*tt*總分*n"); for(i=0;i<N;i+) printf(&

41、quot;t%dtttt%dn",schi.schoolnum,schi.boytotal); printf("n");printf("n");printf("# 0:退出;1:返回目錄。n");printf("*請(qǐng)選擇: ");loop2:scanf("%d",&q);if(q=0) funct0();if(q=1) xunhuan(); else printf("輸入錯(cuò)誤(只能是0或1),請(qǐng)重新輸入:"); goto loop2;void funct5(

42、) /按女團(tuán)體總分排序 struct school sch1;int i,j,q;for(j=0;j<N-1;j+)for(i=0;i<N-j-1;i+)if(schi.girltotal<schi+1.girltotal)sch1=schi;schi=schi+1;schi+1=sch1; printf("*按女團(tuán)體總分排序*n");printf(" *學(xué)校編號(hào)*tt*總分*n"); for(i=0;i<N;i+) printf("t%dtttt%dn",schi.schoolnum,schi.girltot

43、al); printf("n");printf("n");printf("# 0:退出;1:返回目錄。n");printf("*請(qǐng)選擇: ");loop2:scanf("%d",&q);if(q=0) funct0();if(q=1) xunhuan();else printf("輸入錯(cuò)誤(只能是0或1),請(qǐng)重新輸入:"); goto loop2;void funct6() /按學(xué)校編號(hào)查詢(xún)學(xué)校某個(gè)項(xiàng)目情況int i,n,m,q;printf("*按學(xué)校編號(hào)

44、查詢(xún)學(xué)校某個(gè)項(xiàng)目情況*n");loop1:printf("*請(qǐng)輸入所要查詢(xún)的學(xué)校編號(hào): ");scanf("%d",&n);if(n!=1&&n!=2) printf("!輸入錯(cuò)誤,學(xué)校編號(hào)只能是'0'或'1',請(qǐng)重新輸入!n"); goto loop1;printf("*請(qǐng)輸入所要查詢(xún)的項(xiàng)目編號(hào): ");scanf("%d",&m);for(i=0;i<N;i+)if(n=schi.schoolnum) print

45、f("學(xué)校編號(hào): %d 項(xiàng)目編號(hào): %dn",n,m);if(schi.matm.rank0=1)printf("第一名(獲得) "); if(schi.matm.rank1=1)printf("第二名(獲得) "); if(schi.matm.rank2=1)printf("第三名(獲得) ");elseprintf("本校該項(xiàng)目未進(jìn)入前三名");printf("n");printf("n");printf("# 0:退出;1:返回目錄;2:返

46、回上一級(jí)。n");printf("*請(qǐng)選擇: ");loop2:scanf("%d",&q);if(q=1) xunhuan();if(q=0) funct0();if(q=2) goto loop1; else printf("輸入錯(cuò)誤(只能是0或1或2),請(qǐng)重新輸入:"); goto loop2;void funct7() /按項(xiàng)目編號(hào)查詢(xún)?nèi)〉妹蔚膶W(xué)校 int i,t,q;printf("*按項(xiàng)目編號(hào)查詢(xún)?nèi)〉妹蔚膶W(xué)校*n");loop1: printf("*請(qǐng)輸入所要查詢(xún)的項(xiàng)目編號(hào): ") ;scanf("%d",&t);printf("項(xiàng)目編號(hào):%dn",t) ;for(i=0;i<N;i+)if(schi.matt-1.rank0=1)printf("獲得第一名的學(xué)校編號(hào)是

溫馨提示

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