電氣078321謝挺 心算搶答系統(tǒng)_第1頁(yè)
電氣078321謝挺 心算搶答系統(tǒng)_第2頁(yè)
電氣078321謝挺 心算搶答系統(tǒng)_第3頁(yè)
電氣078321謝挺 心算搶答系統(tǒng)_第4頁(yè)
電氣078321謝挺 心算搶答系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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、精選文檔應(yīng)用技術(shù)學(xué)院課 程 設(shè) 計(jì) 報(bào) 告課程名稱: C語(yǔ)言程序設(shè)計(jì) 課題名稱: 心算搶答系統(tǒng) 專 業(yè): 電氣工程及自動(dòng)化 班 級(jí): 0783班 學(xué) 號(hào): 21 姓 名: 謝挺 指導(dǎo)教師: 王穎 2008年 3 月 27日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書(shū)課程名稱: C語(yǔ)言程序設(shè)計(jì) 課 題: 心算搶答系統(tǒng) 專業(yè)班級(jí): 電氣工程及自動(dòng)化 學(xué)生姓名: 謝挺 學(xué) 號(hào): 21 指導(dǎo)老師: 王穎 審 批: 任務(wù)書(shū)下達(dá)日期:2008 年3月8日任務(wù)完成日期:2008年3月27日C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)是對(duì)學(xué)生的一種全面綜合訓(xùn)練,它包括問(wèn)題分析,總體結(jié)構(gòu)設(shè)計(jì),用戶界面設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧,多人合作

2、,以至一整套軟件工作規(guī)范的訓(xùn)練和科學(xué)作風(fēng)的培養(yǎng)。是與課堂聽(tīng)講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)節(jié)。通常,課程設(shè)計(jì)的課題比平時(shí)的習(xí)題復(fù)雜得多,也更接近實(shí)際。課程設(shè)計(jì)著眼于與應(yīng)用的結(jié)合點(diǎn),使學(xué)生學(xué)會(huì)如何把書(shū)上學(xué)到的知識(shí)用于解決實(shí)際問(wèn)題,培養(yǎng)軟件工作所需要的動(dòng)手能力;另一方面,能使書(shū)上的知識(shí)變“活”,使學(xué)生更好地深化理解和靈活掌握教學(xué)內(nèi)容。為了達(dá)到上述目的,本課程設(shè)計(jì)安排了四個(gè)設(shè)計(jì)課題,訓(xùn)練重點(diǎn)在于基本的程序設(shè)計(jì)方法和分析問(wèn)題的能力,而不強(qiáng)調(diào)面面俱到。學(xué)生可任選其中一題進(jìn)行設(shè)計(jì),設(shè)計(jì)完畢寫(xiě)出課程設(shè)計(jì)報(bào)告,用A4紙打印成冊(cè);并將課程設(shè)計(jì)報(bào)告與源程序存盤(pán)。學(xué)習(xí)委員將課程設(shè)計(jì)報(bào)告與磁盤(pán)(缺一不可)

3、收齊后交指導(dǎo)老師。一、目的全面熟悉、掌握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ī)解決實(shí)際問(wèn)題的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范編程的思想,為以后在專業(yè)課程中應(yīng)用計(jì)算機(jī)系統(tǒng)解決計(jì)算、分析、實(shí)驗(yàn)和設(shè)計(jì)等學(xué)習(xí)環(huán)節(jié)打下較扎實(shí)的基礎(chǔ)。二、基本情況課程類別:必修課課程學(xué)分:1學(xué)分課程學(xué)時(shí):1周課程對(duì)象:電氣工程0781、0782、0783、0784、0785、0786三、

4、時(shí)間安排時(shí)間任務(wù)2008-3-8下午3:40-5:40指導(dǎo)老師給學(xué)生布置課程設(shè)計(jì)的任務(wù)及要求2008-3-10到2008-3-15學(xué)生根據(jù)設(shè)計(jì)任務(wù)及要求,對(duì)系統(tǒng)進(jìn)行需求分析、概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),并在此基礎(chǔ)上編寫(xiě)程序代碼學(xué)生提交系統(tǒng)程序清單初稿上機(jī)調(diào)試程序修改并完善程序并上機(jī)調(diào)試程序2008-3-16接受指導(dǎo)老師的驗(yàn)收2008-3-16到2008-3-22 書(shū)寫(xiě)課程設(shè)計(jì)報(bào)告 提交課程設(shè)計(jì)報(bào)告課題要求一、 需求分析分析系統(tǒng)功能需求以及用戶操作流程。二、 概要設(shè)計(jì)在需求分析的基礎(chǔ)上,確定系統(tǒng)總體框架(系統(tǒng)功能結(jié)構(gòu)圖)。三、 詳細(xì)設(shè)計(jì)定義數(shù)據(jù)儲(chǔ)存結(jié)構(gòu),并設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)功能的具體算法,畫(huà)出各算法的工作流程

5、圖。四、 代碼設(shè)計(jì)根據(jù)所設(shè)計(jì)的算法,定義相應(yīng)函數(shù)分別實(shí)現(xiàn)系統(tǒng)的各子功能模塊,同時(shí)由主程序提供友好的用戶界面,使用戶可通過(guò)選擇主菜單來(lái)調(diào)用課程設(shè)計(jì)中要求完成的各個(gè)功能模塊,子程序執(zhí)行完后還可以返回到主菜單,繼續(xù)選擇其他功能執(zhí)行。源程序要求書(shū)寫(xiě)規(guī)范,結(jié)構(gòu)清晰。重點(diǎn)函數(shù)的重點(diǎn)變量。重點(diǎn)功能部分均要求給出清晰的程序注釋。五、 程序調(diào)試程序編譯、連接成功后,自己設(shè)計(jì)實(shí)現(xiàn)程序功能的一組或多組測(cè)試數(shù)據(jù),并嚴(yán)格按照此測(cè)試數(shù)據(jù)進(jìn)行測(cè)試,然后分析測(cè)試結(jié)果。如果程序不能正常運(yùn)行或結(jié)果不正確,則需對(duì)程序進(jìn)行單步調(diào)試,在調(diào)試過(guò)程中認(rèn)真查找算法實(shí)現(xiàn)中存在的問(wèn)題,并加以分析和改正。如果程序能夠基本正確地運(yùn)行,可考慮增加若干

6、基本的容錯(cuò)功能;另外盡量對(duì)現(xiàn)有的算法給出改進(jìn)方案,并比較不同算法之間的優(yōu)缺點(diǎn)五、設(shè)計(jì)報(bào)告及書(shū)寫(xiě)內(nèi)容要求課程設(shè)計(jì)任務(wù)完成后,每位同學(xué)必須獨(dú)立書(shū)寫(xiě)一份課程設(shè)計(jì)報(bào)告,注意:不得抄襲他人的報(bào)告(或給他人抄襲),一旦發(fā)現(xiàn),成績(jī)?yōu)榱惴?。課程設(shè)計(jì)報(bào)告的內(nèi)容應(yīng)包括以下五個(gè)部分:1) 需求分析:包括設(shè)計(jì)題目、設(shè)計(jì)要求以及系統(tǒng)功能需求分析;2) 概要設(shè)計(jì):包括系統(tǒng)總體設(shè)計(jì)框架和系統(tǒng)功能模塊圖;3) 詳細(xì)設(shè)計(jì):包括主要功能模塊的算法設(shè)計(jì)思路以及對(duì)應(yīng)的工作流程圖;4) 主要源程序代碼:包括存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)說(shuō)明,以及完整源程序清單;5) 調(diào)試分析過(guò)程描述:包括測(cè)試數(shù)據(jù)、測(cè)試輸出結(jié)果,以及對(duì)程序調(diào)試過(guò)程中存在問(wèn)題的思考(列出

7、主要問(wèn)題的出錯(cuò)現(xiàn)象、出錯(cuò)原因、解決方法及效果等);6) 總結(jié):包括課程設(shè)計(jì)過(guò)程中的學(xué)習(xí)體會(huì)和收獲、對(duì)c語(yǔ)言和本次課程設(shè)計(jì)的認(rèn)識(shí)以及自己的建議等內(nèi)容。7) 書(shū)寫(xiě)格式嚴(yán)格按所附要求書(shū)寫(xiě)。附1:l 課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書(shū)、目錄、正文、評(píng)分、附件(A4大小的圖紙及程序清單)。 l 正文的格式:一級(jí)標(biāo)題用3號(hào)黑體,二級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體;行距為22。l 正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫(huà)出模塊圖);三、主要功能的實(shí)現(xiàn)(至少要有一個(gè)主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、附件(所有程序的原代碼,要求對(duì)程序?qū)懗霰匾淖⑨專?。l 正文總字?jǐn)?shù)要

8、求在5000字以上(不含程序原代碼)。一.問(wèn)題描述: 適用用于數(shù)學(xué)心算搶答賽。比賽題型分為兩種:“四則簡(jiǎn)單運(yùn)算”和“四則混合運(yùn)算”,計(jì)算機(jī)隨機(jī)出題,選手搶答。要求進(jìn)入每種題型比賽時(shí),計(jì)算機(jī)均有提示,每隊(duì)的記分窗口隨分的情況而更新。 二.功能要求:1:顯示如下畫(huà)面: welcome jion in this competition!2.舉辦單位確定參賽的對(duì)數(shù),每隊(duì)分配一個(gè)記分窗口,底分均為0分。 3.比賽題型分為兩種:“四則簡(jiǎn)單運(yùn)算”(N道題)和“四則混合運(yùn)算” (M道題),N,M由舉辦單位確定,計(jì)算機(jī)隨機(jī)出題,現(xiàn)出:“四則簡(jiǎn)單運(yùn)算”題,每出一道,選手搶答,做對(duì)一題加5分,做錯(cuò)一題減5分。后出“

9、四則混合運(yùn)算”,做對(duì)一題加10分,做錯(cuò)一題減10分。要求進(jìn)入每種題型比賽時(shí),計(jì)算機(jī)均有提示,每隊(duì)的積分窗口隨得分情況而更新。4.根據(jù)最后總分,由高到底宣布比賽名次,按任意鍵退出比賽系統(tǒng)。5.要求整個(gè)設(shè)計(jì)以人為本,用戶界面友好。 三.算法提示1.用簡(jiǎn)單的程序設(shè)計(jì)方法2.一定的窗口設(shè)計(jì)技巧3.簡(jiǎn)單的數(shù)據(jù)類型:int,char,4.簡(jiǎn)單的指針 四、測(cè)試數(shù)據(jù): 主持人測(cè)試五、其他: 對(duì)改系統(tǒng)有興趣的同學(xué)可以在實(shí)現(xiàn)系統(tǒng)的基本功能后,完善系統(tǒng)的其他功能。如底分的設(shè)置,每種類型題目的加,減分的多少和選手的起始均可由舉辦方設(shè)定。課題要求4一、題目6二、內(nèi)容6三、關(guān)鍵字:6【需求分析】6【概要設(shè)計(jì)】71)、 程

10、序的模塊組成:72)、 各個(gè)函數(shù)的主要功能:7【詳細(xì)設(shè)計(jì)】7算法:8、【代碼設(shè)計(jì)】101主函數(shù) main()102四則簡(jiǎn)單運(yùn)算函數(shù)simple()104高低分排名函數(shù)exchange()11【程序調(diào)試】12十、總結(jié)13十一,參考資料13附件13一、題目心算搶答系統(tǒng)二、內(nèi)容該系統(tǒng)是一個(gè)簡(jiǎn)單的心算搶答系統(tǒng),能夠使選手實(shí)現(xiàn)搶答,了解自己的得分及排名情況。其功能包括:選手搶答、四則簡(jiǎn)單計(jì)算、四則混合計(jì)算、顯示選手得分、選手排名等。三、關(guān)鍵字:心算搶答系統(tǒng)【需求分析】1. 開(kāi)始時(shí)主持人可以選擇難題與容易題的數(shù)目。2. 主持人可以選擇先搶答者進(jìn)行回答問(wèn)題。3. 參加者的起始分為0。,若難題回答正確則加10

11、分若回答錯(cuò)誤則扣10分。若容易回答正確則加5分若回答錯(cuò)誤則扣5分。4. 程序能夠給出2個(gè)數(shù)字的加減乘除的容易運(yùn)算,也可以給出較難的4種其他的難題運(yùn)算。5. 在題目回答錯(cuò)誤之后顯示出正確答案。6. 在題目答完之后顯示出3人的最終分?jǐn)?shù),并給出從高到低的排名。主持人宣布開(kāi)始搶答后開(kāi)始搶答,主持人選擇搶答者回答問(wèn)題,若難題回答正確則加10分若回答錯(cuò)誤則扣10分。若容易回答正確則加5分若回答錯(cuò)誤則扣5分。在題目回答錯(cuò)誤之后顯示出正確答案,回答完題之后顯示得分??傮w設(shè)計(jì)方案的選定: 程序的功能:要實(shí)現(xiàn)對(duì)心算搶答進(jìn)行統(tǒng)一有效的管理需要通過(guò) 用函數(shù)、數(shù)據(jù)類型、C語(yǔ)句(控制語(yǔ)句、函數(shù)調(diào)用語(yǔ)句、表達(dá)式語(yǔ)句、復(fù)合語(yǔ)

12、句等)來(lái)實(shí)現(xiàn)。由于是計(jì)算,很自然的要建立一個(gè)題庫(kù),而這個(gè)題庫(kù)里的題目是隨機(jī)的。這個(gè)系統(tǒng)有很多個(gè)界面,這些界面的調(diào)用,最終是通過(guò)函數(shù)之間的調(diào)用來(lái)實(shí)現(xiàn)的?!靖乓O(shè)計(jì)】 程序的模塊組成以及各個(gè)函數(shù)的功能: 1)、 程序的模塊組成: 主函數(shù): void main() 四則簡(jiǎn)單運(yùn)算函數(shù):int simple() 四則混合運(yùn)算函數(shù): int mix() 高低分排名函數(shù): void exchange() 交換函數(shù):void swap()2)、 各個(gè)函數(shù)的主要功能: void main():主函數(shù)simple(): 四則簡(jiǎn)單運(yùn)算函數(shù).mix():四則混合運(yùn)算函數(shù)。void exchange(): 搶答結(jié)束后排

13、出名次。 void swap():交換函數(shù)為排序函數(shù)服務(wù)。 【詳細(xì)設(shè)計(jì)】 相關(guān)的數(shù)據(jù)類型 隊(duì)伍信息結(jié)構(gòu)數(shù)組 struct team char name; int score; tea3='A',0,'B',0,'C',0算法:void main():輸入難題與容易題的數(shù)目。確定扣分加分規(guī)則。輸出最后得分與排名。simple():規(guī)定簡(jiǎn)單題目的類型。mix():規(guī)定較難目的類型。void exchange():進(jìn)行分?jǐn)?shù)比較。void swap():進(jìn)行排名。函數(shù)功能調(diào)用關(guān)系流程圖如下:歡迎界面輸入第一輪的次數(shù)輸入第二輪的次數(shù)進(jìn)入第一輪的搶答進(jìn)入第二

14、輪的搶答顯示各隊(duì)的得分得到最終總排名退出本系統(tǒng)simple( )srand( )switch( )mix( )return(s )return(t )exchange( )swap( )swap()exit()exchange()mix()simple()main()【代碼設(shè)計(jì)】整個(gè)系統(tǒng)除了主函數(shù)外,另外還有5個(gè)函數(shù),實(shí)現(xiàn)三大功能:四則簡(jiǎn)單運(yùn)算功能、四則混合運(yùn)算功能、從高分到低分排序功能。1主函數(shù) main()利用scanf()函數(shù)輸入第一輪和第二輪搶答的次數(shù)。2四則簡(jiǎn)單運(yùn)算函數(shù)simple()此函數(shù)通過(guò)隨機(jī)數(shù)和加,減,乘,除,實(shí)現(xiàn)四則簡(jiǎn)單運(yùn)算。算法:先初始化隨機(jī)數(shù)發(fā)生器,得到兩個(gè)隨機(jī)數(shù),在利

15、用switch函數(shù)選擇要進(jìn)行的運(yùn)算。N-S流程圖如下:srand(unsigned)time(NULL)num1=rand()%100+1;","w+")stpy=rand()%4+1; switch(stpy)switch(stpy)printf("%d-%d”)num2=rand()%100+1;j+,m+=301,m+)printf("%d+%d”)of(struct hk),M*H,fp)printf("%d*%d”)printf("%d/%d”)of(struct hk),M*H,fp)return(s)3.四則混

16、合運(yùn)算函數(shù) mix()此函數(shù)通過(guò)隨機(jī)數(shù)和加,減,乘,除,實(shí)現(xiàn)四則簡(jiǎn)單運(yùn)算。算法:先初始化隨機(jī)數(shù)發(fā)生器,得到三個(gè)隨機(jī)數(shù),在利用switch函數(shù)選擇要進(jìn)行的運(yùn)算。N-S流程圖如下:srand(unsigned)time(NULL)num1=rand()%100+1;","w+")num3=rand()%4+1; switch(stpy)switch(stpy)printf("(%d+%d)*(%d-%d)”)num2=rand()%100+1;j+,m+=301,m+)printf("%d*%d/%d”) hk),M*H,fp)printf(&qu

17、ot;%d*%d-%d/%d”)printf("(%d+%d-%d)*%d/%d”) hk),M*H,fp)return(t)4高低分排名函數(shù)exchange()此函數(shù)建立在四則簡(jiǎn)單函數(shù)和四則混合運(yùn)算的基礎(chǔ)之上,當(dāng)運(yùn)算結(jié)束時(shí),會(huì)執(zhí)行此函數(shù)。算法:通過(guò)比較和交換函數(shù),實(shí)現(xiàn)高低分排序。N-S流程圖如下:swap(int *x,int *y)if(*p1<*p2) swap(p1,p2)if(*p1<*p3) swap(p1,p3)if(*p2<*p3) swap(p2,p3)【程序調(diào)試】(1)先進(jìn)入歡迎界面后,根據(jù)提示分別輸入第一輪的次數(shù),和第二輪的次數(shù)。(2)當(dāng)輸入了

18、次數(shù)后,先運(yùn)行的是簡(jiǎn)單運(yùn)算,先輸入?yún)①愱?duì)伍,再輸入答案,如果答案正確則給相應(yīng)的隊(duì)伍加分,當(dāng)錯(cuò)誤時(shí),則扣分。(3)當(dāng)簡(jiǎn)單運(yùn)算結(jié)束后,出現(xiàn)混合運(yùn)算的提示,與簡(jiǎn)單運(yùn)算的方法一樣。(4)在搶答結(jié)束后應(yīng)該會(huì)出現(xiàn)各隊(duì)的得分,并自動(dòng)對(duì)其進(jìn)行排序。(5)注意要按要求輸入數(shù)字和字母,否則會(huì)得到錯(cuò)誤的信息。十、總結(jié) 這次課程設(shè)計(jì)歷時(shí)一個(gè)星期多左右,通過(guò)這兩個(gè)星期的學(xué)習(xí),發(fā)現(xiàn)了自己的很多不足,自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺乏,理論聯(lián)系實(shí)際的能力還急需提高。 學(xué)習(xí)C語(yǔ)言不是一朝一夕的事情。如何以最小的代價(jià)學(xué)習(xí)并精通C語(yǔ)言是本文的主題。即使是“最小的代價(jià)”,也絕不是什么捷徑,而是以最短的時(shí)間取得最多

19、的收獲,同時(shí)也意味著你需要經(jīng)歷艱苦的過(guò)程。仔細(xì)讀書(shū)、認(rèn)真抄寫(xiě)源代碼、獨(dú)立完成習(xí)題外加更進(jìn)一步的實(shí)驗(yàn),最后將所有的代碼留下,成為自己的經(jīng)驗(yàn)和財(cái)富,絕對(duì)的辛苦,也絕對(duì)的事半功倍。當(dāng)然,這種方式只適合學(xué)習(xí)需要精通的技術(shù),如果不是學(xué)習(xí)C語(yǔ)言,你還要具體情況具體分析。不斷的練習(xí),一個(gè)最愚蠢的辦法,我也離不開(kāi)這個(gè)蠢辦法,但卻不得不承認(rèn)是最實(shí)用的也是最好用的,剛開(kāi)始學(xué)的時(shí)候,不斷的翻書(shū)查看,然后試著不看書(shū)憑記憶不斷寫(xiě)些代碼,把自己易忘記和易錯(cuò)的記下來(lái),再默記幾次,而寫(xiě)代碼和看代碼是每天必做的功課,經(jīng)過(guò)一段時(shí)間,我發(fā)覺(jué)我翻書(shū)的次數(shù)少了,東西慢慢在腦子里了,這是一種潛移默化的學(xué)習(xí)過(guò)程。我覺(jué)得入門(mén)還是多看些書(shū),多

20、實(shí)踐,養(yǎng)成良好的編程習(xí)慣,在實(shí)踐的同時(shí)多思考問(wèn)題,多看別人優(yōu)秀的解題思路與方法,多看別人優(yōu)秀的代碼,嘗試自己去實(shí)現(xiàn)或者說(shuō)模仿著去實(shí)現(xiàn),讓別人對(duì)你的代碼多提意見(jiàn),探究別人的思維過(guò)程,增強(qiáng)自己的思維能力,拓展視野,經(jīng)??纯醋约阂郧皩?xiě)的東西,有空拿出來(lái)改良改良,我想每隔一段時(shí)間,都會(huì)有意想不到的收獲。就一定可以達(dá)到有效的鍛煉自己的抽象邏輯思維能力。另外還需注意的就是自己實(shí)在無(wú)法理解的地方不妨指出來(lái)多多請(qǐng)教老師和懂的同學(xué)讓他們用自然語(yǔ)言來(lái)描述一道,并且記錄下來(lái)這樣可以達(dá)到事半功倍的效果。 學(xué)習(xí)C語(yǔ)言不能停留在學(xué)習(xí)它的語(yǔ)法規(guī)則,而是利用學(xué)到的知識(shí)編寫(xiě)C語(yǔ)言程序,解決實(shí)際問(wèn)題。即把C語(yǔ)言作為工具,描述解決

21、實(shí)際問(wèn)題的步驟,由計(jì)算機(jī)幫助我們解題。只有通過(guò)上機(jī)才能檢驗(yàn)自己是否掌握C語(yǔ)言、自己編寫(xiě)的程序是否能夠正確地解題。 我首先覺(jué)得,用到的程序段不必太高級(jí),因?yàn)樘煜率掠懈叩椭?,決定優(yōu)劣的不是集體中某部分的強(qiáng)弱,起決定作用的是組合內(nèi)各元素的和諧,要能在一個(gè)集體中各盡所能,每個(gè)人都能發(fā)揮長(zhǎng)處,避免自己的短處,那么這個(gè)集體的實(shí)際組合能量是最優(yōu)的。 其次,注重程序設(shè)計(jì)地完善性與縝密性,在設(shè)計(jì)程序地思路時(shí),應(yīng)從大局著手,盡可能地考慮所有可能出現(xiàn)地異常情況,以便在前期地設(shè)計(jì)階段就加以控制。比如針對(duì)數(shù)組下標(biāo)溢出地情況,學(xué)習(xí)了指針之后,就可以運(yùn)用動(dòng)態(tài)數(shù)組地知識(shí)加以解決。 程序的調(diào)試非常重要,掌握好的調(diào)試方法,可以

22、事半功倍。下面說(shuō)一下程序已經(jīng)沒(méi)有編譯錯(cuò)誤,能夠運(yùn)行,但又得不出正確結(jié)果的情況下的程序的常用常見(jiàn)調(diào)試方法,完成程序的編寫(xiě),決不意味著萬(wàn)事大吉。認(rèn)為萬(wàn)無(wú)一失的程序,實(shí)際上機(jī)運(yùn)行時(shí)可能不斷出現(xiàn)麻煩。如編譯程序檢測(cè)出一大堆錯(cuò)誤。有時(shí)程序本身不存在語(yǔ)法錯(cuò)誤,也能夠順利運(yùn)行,但是運(yùn)行結(jié)果顯然是錯(cuò)誤的。開(kāi)發(fā)環(huán)境所提供的編譯系統(tǒng)無(wú)法發(fā)現(xiàn)這種程序邏輯錯(cuò)誤,只能靠自己的上機(jī)經(jīng)驗(yàn)分析判斷錯(cuò)誤所在。程序的調(diào)試是一個(gè)技巧性很強(qiáng)的工作,對(duì)于初學(xué)者來(lái)說(shuō),盡快掌握程序調(diào)試方法是非常重要的。有時(shí)候一個(gè)消耗你幾個(gè)小時(shí)時(shí)間只是個(gè)小小錯(cuò)誤. 通過(guò)對(duì)編碼規(guī)范的再次學(xué)習(xí),發(fā)現(xiàn)了一些做的不夠的地方,在以后的工作中努力的改正,并嚴(yán)格遵守編碼

23、規(guī)范來(lái)進(jìn)行編碼。1. 代碼的排版布局。2. 效率問(wèn)題。在實(shí)踐過(guò)程中,自己編程的時(shí)候常常會(huì)犯錯(cuò)誤,并總結(jié)了一些克服缺點(diǎn)的方法。而且更深刻體會(huì)到程序設(shè)計(jì)中最重要的一部分不是編寫(xiě)源程序,而是調(diào)試過(guò)程。只有經(jīng)過(guò)調(diào)試程序,我們才能掌握正確的語(yǔ)法知識(shí)及把問(wèn)題的解決方法用程序語(yǔ)言來(lái)表達(dá)。在設(shè)計(jì)程序的同時(shí)也增長(zhǎng)了翻閱有關(guān)文獻(xiàn)的能力,加強(qiáng)了實(shí)踐能力及自學(xué)能力,培養(yǎng)了分析問(wèn)題 、編程和動(dòng)手能力,掌握了程序設(shè)計(jì)基本技能。 好的排版比較利于別人對(duì)代碼進(jìn)行閱讀和修改。雖然這是一小問(wèn)題,但也不容忽視。代碼不僅要運(yùn)行正確,還要比較高的運(yùn)行效率。其原則是通過(guò)對(duì)系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的劃分與組織的改進(jìn),以及對(duì)程序算法的優(yōu)化來(lái)提高時(shí)間和空

24、間上的效率。我在做以后的項(xiàng)目過(guò)程中會(huì)更加的注意,并積極的提高程序運(yùn)行的效率。 C語(yǔ)言語(yǔ)法結(jié)構(gòu)很簡(jiǎn)潔精妙,寫(xiě)出的程序也很高效 。C語(yǔ)言能夠讓你深入系統(tǒng)底層。同時(shí),我也清楚地知道21世紀(jì)挑戰(zhàn)與機(jī)遇并存,沒(méi)有足夠的知識(shí)儲(chǔ)備必將被時(shí)代所拋棄。C語(yǔ)言作為國(guó)際上廣泛流行的通用程序設(shè)計(jì)語(yǔ)言,在計(jì)算機(jī)的研究和應(yīng)用中已展現(xiàn)出強(qiáng)大的生命力。C語(yǔ)言兼顧了諸多高級(jí)語(yǔ)言的特點(diǎn),是一種典型的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,它處理能力強(qiáng),使用靈活方便,應(yīng)用面廣,具有良好的可移植性。雖然我們C語(yǔ)言已有四個(gè)月,但一直都重概念、輕實(shí)踐,這次設(shè)計(jì)對(duì)我們來(lái)說(shuō)是千載難逢的機(jī)會(huì),無(wú)論如何都要好好把握。 生活就是這樣,汗水預(yù)示著結(jié)果也見(jiàn)證著收獲。勞動(dòng)

25、是人類生存生活永恒不變的話題。通過(guò)實(shí)習(xí),我才真正領(lǐng)略到“艱苦奮斗”這一詞的真正含義,通過(guò)實(shí)踐的學(xué)習(xí),我認(rèn)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí)C語(yǔ)言,還是其它的語(yǔ)言,以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,所以后在學(xué)習(xí)過(guò)程中,我會(huì)更加注視實(shí)踐操作,使自己便好地學(xué)好計(jì)算機(jī)。 十一,參考資料 <<C/C+程序設(shè)計(jì)教程>> <<C程序設(shè)計(jì)>><<C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)>> C語(yǔ)言之家() C語(yǔ)言教室(http:/www.vcok.coC語(yǔ)言程序設(shè)計(jì)案例教程 張基溫 編著 清華大學(xué)出版社C程序設(shè)計(jì) (第三版) 譚浩強(qiáng) 著 清華

26、大學(xué)出版社 C語(yǔ)言課程設(shè)計(jì)案例精編 中國(guó)水利水電出版社附件#include<stdio.h> #include<stdlib.h> #include<time.h> void main() int simple(); int mix(); void exchange(int *p1,int *p2,int *p3); struct team char name;/*定義字符量name*/ int score;/*定義整型score*/ tea3='A',0,'B',0,'C',0;/*定義沒(méi)個(gè)人的初始分為0*/

27、 int i,p,j,t,k,n,m;/*定義整型*/ int a,b,c;/*定義整型*/ int result1,answer1,result2,answer2;/*定義整型*/ int *q1,*q2,*q3;/*定義指針q1,q2,q3*/ char ch1,ch2; printf(" *n"); printf(" $ $n"); printf(" $ $n"); printf(" $ welcome jion in this competition!$n"); printf(" $ $n&quo

28、t;); printf(" $ $n"); printf(" *n"); /*在屏幕上打出所需圖文*/ for(i=0;i<10;i+) printf("n"); printf("input simple count number n:");/*輸入簡(jiǎn)單題目的數(shù)量*/ scanf("%d",&n); printf("ninput mix count number m:");/*輸入較難題目的數(shù)量*/ scanf("%d",&m); p

29、rintf("n"); printf(" press any key to begain ! n"); getch(); printf("Begain!n"); printf("The first turn.n"); printf("This is simple count.n"); printf("Please look at the question:n"); for(p=0;p<n;p+) result1=simple(); printf("Please

30、 input one team name:"); getchar(); scanf("%c",&ch1); printf("ninput your answer:"); scanf("%d",&answer1); for(k=0;k<3;k+) t=k; if(ch1=) if(result1=answer1) teat.score+=5;/*如果簡(jiǎn)單題目回答正確,答題者score+5*/ else printf("This answer is wrong.n");

31、 printf("The right answer is %dn",result1); teat.score-=5;/*如果簡(jiǎn)單題目回答錯(cuò)誤,答題者score-5*/ for(i=0;i<3;i+) printf("%c%dn",,teai.score); printf("This turn is end.n"); printf("nnnnn"); printf("The second turn begain!n"); printf("This is mix c

32、ount!n"); printf("Please look at the question:n"); for(j=0;j<m;j+) result2=mix(); printf("please input one team:"); getchar(); scanf("%c",&ch2); printf("ninput your answer:"); scanf("%d",&answer2); for(i=0;i<3;i+) t=i; if(ch2=teai.

33、name) if(result2=answer2) teat.score+=10;/*如果較難題目回答正確,答題者score+10*/ else printf("nyour answer is wrong.n"); printf("The right answer is %dn",result2);/*輸出正確答案result2*/ teat.score-=10;/*如果較難題目回答錯(cuò)誤,答題者score-10*/ for(i=0;i<3;i+) printf("%c%dn",,teai.score); a=t

34、ea0.score;b=tea1.score;c=tea2.score;/*統(tǒng)計(jì)最后的得分*/ if(a>b&&b>c) printf("%c %c %cn",'A','B','C'); if(a>b&&c>a) printf("%c %c %c",'C','A','B'); if(a>b&&a>c&&c>b) printf("%c %c %cn

35、",'A','C','B'); if(c>a&&c>b&&b>a) printf("%c %c %cn",'C','B','A'); if(b>a&&c>a&&b>c) printf("%c %c %cn",'B','C','A'); if(b>a&&a>c) printf(&

36、quot;%c %c %cn",'B','A','C');/*按分?jǐn)?shù)大小打印出A,B,C*/ q1=&tea0.score; q2=&tea1.score; q3=&tea2.score; exchange(q1,q2,q3); printf("%d %d %dn",tea0.score,tea1.score,tea2.score);/*輸出A,B,C所得分?jǐn)?shù)*/ simple() int s,num1,num2,stpy; srand(unsigned)time(NULL); num1=rand()%100+1; num2=rand()%100+1; stpy=rand()%4+1; switch(stpy) case 1:s=num1+num2;/*說(shuō)明簡(jiǎn)單題型種類1*/ printf("%d+%d=?n",num1,num2);break; case 2:if(num1>=num2)/*說(shuō)明簡(jiǎn)單題型種類2*/ s=num1-num2

溫馨提示

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