




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2014 2015學(xué)年第 2學(xué)期)題 目:猜數(shù)字游戲?qū)W院:機(jī)械工程學(xué)院班級:機(jī)械1310班學(xué)號: 1303090190姓名: 楊晨指導(dǎo)教師:羅濤華時(shí) 間:一、課程設(shè)計(jì)基本信息課程代碼:課程名稱:計(jì)算機(jī)基礎(chǔ)課程設(shè)計(jì)課程英文名稱 :Computer-based Course Design課程所屬單位(院(系)、教研室):數(shù)學(xué)與計(jì)算機(jī)學(xué)院計(jì)算機(jī)基礎(chǔ)課程群課程面向?qū)I(yè):食品科學(xué)與工程學(xué)院、機(jī)械工程學(xué)院、電氣與電子工程學(xué)院、土建學(xué) 院、動物科學(xué)與營養(yǎng)工程學(xué)院、化學(xué)與環(huán)境工程學(xué)院、工商管理類、國際經(jīng)濟(jì)與貿(mào)易、旅游 管理、金融學(xué)、行政管理、漢語言文學(xué)、英語、護(hù)理學(xué)、康復(fù)治療專業(yè)、生物
2、科學(xué)類、制藥 工程、制藥工程(生物制藥)、藥物制劑、物流管理課程類型:必修課先修課程:大學(xué)計(jì)算機(jī)基礎(chǔ)通識選修課程、程序設(shè)計(jì)課程學(xué)分:1總學(xué)時(shí):1周二、課程設(shè)計(jì)目標(biāo)掌握所學(xué)語言程序設(shè)計(jì)的方法,熟悉所學(xué)語言的開發(fā)環(huán)境及調(diào)試過程,熟悉所學(xué)語言中的數(shù)據(jù)類型,數(shù)據(jù)結(jié)構(gòu)、語句結(jié)構(gòu)、運(yùn)算方法,鞏固和加深對理論課中知識的理解,提 高學(xué)生對所學(xué)知識的綜合運(yùn)用能力。通過綜合設(shè)計(jì)要求達(dá)到下列基本技能:1 培養(yǎng)查閱參考資料、手冊的自學(xué)能力,通過獨(dú)立思考深入鉆研問題,學(xué)會自己分 析、解決問題。2 通過對所選題目方案分析比較,確立方案,編制與調(diào)試程序,初步掌握程序設(shè)計(jì) 的方法,能熟練調(diào)試程序。3 系統(tǒng)設(shè)計(jì)編程簡練,可用,
3、功能全面,并有一定的容錯(cuò)能力。用戶界面良好,有 較好的輸出功能。在完成課題基本要求后,具有創(chuàng)新型設(shè)計(jì),具有一定的實(shí)用價(jià)值。4 根據(jù)個(gè)人的設(shè)計(jì)調(diào)試過程,撰寫設(shè)計(jì)報(bào)告。三、課程設(shè)計(jì)內(nèi)容熟練掌握所學(xué)語言的基本知識:數(shù)據(jù)類型(整形、實(shí)型、字符型、指針、數(shù)組、結(jié)構(gòu) 等);運(yùn)算類型(算術(shù)運(yùn)算、邏輯運(yùn)算、自增自減運(yùn)算、賦值運(yùn)算等);程序結(jié)構(gòu)(順序結(jié)構(gòu)、 判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu));大程序的功能分解方法(即函數(shù)的使用)等。進(jìn)一步掌握各種 函數(shù)的應(yīng)用,包括時(shí)間函數(shù)、繪圖函數(shù),以及文件的讀寫操作等。四、課程設(shè)計(jì)要求1. 要求每個(gè)同學(xué)都要認(rèn)真對待,積極參與。2. 課程設(shè)計(jì)結(jié)束時(shí),提交完成的所有源程序、相關(guān)文件和可執(zhí)行
4、文件。同時(shí)填寫并完 成課程設(shè)計(jì)報(bào)告冊。3. 不符合要求的程序、 設(shè)計(jì)報(bào)告、抄襲的設(shè)計(jì)報(bào)告或源程序代碼、在設(shè)計(jì)中完全未參與的將作不及格處理。五、考核方式指導(dǎo)老師負(fù)責(zé)驗(yàn)收程序的運(yùn)行結(jié)果,并結(jié)合學(xué)生的工作態(tài)度、實(shí)際動手能力、創(chuàng)新精神和設(shè)計(jì)報(bào)告等進(jìn)行綜合考評,百分制計(jì)算,具體考核標(biāo)準(zhǔn)主要包含以下幾個(gè)部分:1. 程序運(yùn)行情況20分2. 程序功能的完善程度10分3. 程序結(jié)構(gòu)的合理性10分4. 對問題的答辯情況20分5. 創(chuàng)新情況10分6. 學(xué)生的工作態(tài)度與獨(dú)立工作能力10分7. 設(shè)計(jì)報(bào)告內(nèi)容的規(guī)范性 20分備注:1. 按規(guī)定時(shí)間填寫各階段文檔,學(xué)習(xí)態(tài)度加5分2. 設(shè)計(jì)報(bào)告內(nèi)容雷同扣 40分,無調(diào)試過程問
5、題分析扣10分,無參考文獻(xiàn)扣10分3. 源程序無注釋則在程序結(jié)構(gòu)合理性扣10分六、課程設(shè)計(jì)主要參考資料1.譚浩強(qiáng)著.C程序設(shè)計(jì)(第3版).北京:清華大學(xué)出版社,2005.72.劉光蓉、汪靖、陸登波主編.C程序設(shè)計(jì)實(shí)驗(yàn)與實(shí)踐教程.北京:清華大學(xué)出版社,2011.23.游洪躍主編.C語言程序設(shè)計(jì)實(shí)驗(yàn)與課程設(shè)計(jì)教程.北京:清華大學(xué)出版社,2011.54.(美) Perter Van DerLin den著,徐波譯.C專家編程(C編程語言經(jīng)典之作).北京:人民郵電出版社,2008.25. 凱尼格 著,高巍 譯.C陷阱與缺陷.北京:人民郵電出版社,2008.26. Mark de Berg等著,鄧俊輝譯
6、,計(jì)算幾何-算法與應(yīng)用(第3版),清華大學(xué)出版社,2009年8月7.楊克昌編著,計(jì)算機(jī)程序設(shè)計(jì)典型例題精解,國防科技大學(xué)大學(xué)出版社,1999年3月七、課程設(shè)計(jì)計(jì)劃安排時(shí)間任務(wù)課程設(shè)計(jì)前一周選擇課程設(shè)計(jì)題目, 分析課題的要求,確定設(shè)計(jì)方案,完成報(bào)告冊中“課程設(shè)計(jì)概述”課程設(shè)計(jì)第1天按功能模塊編寫詳細(xì)設(shè)計(jì)說明,完成報(bào)告冊中“總體設(shè)計(jì)”課程設(shè)計(jì)第2天編寫程序、調(diào)試程序課程設(shè)計(jì)第3天編寫程序、調(diào)試程序,完成報(bào)告冊中“詳細(xì)設(shè)計(jì)”課程設(shè)計(jì)第4天調(diào)試程序,完成報(bào)告冊中“調(diào)試分析過程”課程設(shè)計(jì)第5天完成報(bào)告冊中“總結(jié)”、“參考文獻(xiàn)”、“課程設(shè)計(jì)評審表”部分內(nèi)容,提交課程設(shè)計(jì)報(bào)告、源程序、面試或答辯一、課程設(shè)計(jì)
7、概述課計(jì)算機(jī)隨機(jī)生成一個(gè)各位數(shù)子不重復(fù)的四位數(shù),系統(tǒng)根程據(jù)玩家輸入的數(shù)子給出提示信息:A-表示位置與數(shù)子設(shè)均正確的個(gè)數(shù);B-表示數(shù)字正確但位置不正確的個(gè)計(jì)數(shù)。玩家根據(jù)提示調(diào)整輸入,如果玩家輸入超過八次仍問不成功,游戲自動結(jié)束。題描述設(shè)1.主函數(shù)實(shí)現(xiàn)正整數(shù)的隨機(jī)產(chǎn)生,主菜單的顯示(圖計(jì)18.1)要2.編寫一函數(shù)實(shí)現(xiàn)幫助信息的輸出(圖18.2)求3.編寫一函數(shù)控制比較的次數(shù)和信息的輸出。當(dāng)玩家輸入次數(shù)不超過8時(shí),每次將玩家輸入的數(shù)字和隨機(jī)數(shù)依次進(jìn)行比較,如果匹配,則輸出“ You Win ! ”,否則輸出提示信息。設(shè)掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精計(jì)的方法編制程序解決一些實(shí)際的問題
8、,為將來編與軟件目積累一些典型的案例處理經(jīng)驗(yàn)。的開發(fā) 環(huán) 境操作系統(tǒng):Win dows7軟件環(huán)境:Microsoft Visual C+ 6.0二、總體設(shè)計(jì)(1)猜數(shù)字游戲軟件的總體目標(biāo)是按照特定游戲規(guī)則為用 戶提供一個(gè)方便友好的游戲界面,同時(shí)給用戶提供排行 榜的功能使用戶能夠按照特定的目標(biāo)提高自己的成績, 并且提供相應(yīng)的幫助功能。游戲規(guī)則如下。 游戲軟件隨機(jī)產(chǎn)生4個(gè)數(shù)字,但不顯示,給用戶 提供輸入提示符,讓用戶猜4個(gè)數(shù)字的值和位置順序。 如果數(shù)字值和位置順序均正確,則猜數(shù)字成功。 玩家有8次猜數(shù)字的機(jī)會,如果在8次之內(nèi)仍末 猜出正確的數(shù)字值和數(shù)字位置順序,則提示用戶游戲失 敗。統(tǒng)一旦玩家在8
9、次的次數(shù)限制內(nèi)猜出正確的數(shù)字值和位置順序,則贏得游戲。功能本游戲軟件需要實(shí)現(xiàn)以下一些基本功能 游戲區(qū):玩家可以在游戲區(qū)逐次猜數(shù)字,系統(tǒng)給 出玩家每次猜數(shù)字后的提示,包括數(shù)值、位置均正確的 數(shù)字個(gè)數(shù)和數(shù)值正確但位置不正確的數(shù)字個(gè)數(shù)。 幫助:玩家通過幫助功能了解游戲規(guī)則。析退出:玩家想結(jié)束并退出游戲系統(tǒng)二、總體設(shè)計(jì)(2)系 統(tǒng) 總 體 設(shè) 計(jì) 框 架三、詳細(xì)設(shè)計(jì)(1)主 要 功 能 模 塊 的C編譯器提供了基于 ANSI標(biāo)準(zhǔn)的偽隨機(jī)數(shù)發(fā)生器函數(shù)rand()和srand(),用來生成隨機(jī)數(shù)。這二個(gè)函數(shù) 的工作過程如下:sran d()提供一個(gè)種子,它是一個(gè)un sig ned int類型,其取值范圍
10、從 065535;然后調(diào)用srand(),它會根據(jù)提供給 srand()的種子值返回一 個(gè)隨機(jī)數(shù)(在0到32767之間);根據(jù)需要多次調(diào)用 srand(),從而不間斷地得到新的隨機(jī)數(shù);無論什么時(shí)候,都可以給srand()提供一個(gè)新的種子,從而進(jìn)一步“隨機(jī)化” srand()的輸出結(jié)果。三、詳細(xì)設(shè)計(jì)(1)#i nclude #in elude #in elude void mai n( void )void help();/void compare nt a);/int i,k = 0,a4,b;srand( (unsigned)time( NULL ); while (1)函數(shù)聲明函數(shù)聲明主
11、要 功 能 模 塊 源for(i=0;i4;i+)ai=ra nd()%10;if(a0 != 0)break;三、詳細(xì)設(shè)計(jì)(2)主要功能模塊的算法設(shè)計(jì)1. 輸出游戲菜單2. 輸出游戲規(guī)則3比較用戶輸入數(shù)據(jù)與系統(tǒng)隨機(jī)數(shù),并產(chǎn)生提示信息4.玩家從鍵盤輸入數(shù)據(jù)5比較對應(yīng)位置上的數(shù)6.輸出游戲結(jié)果三、詳細(xì)設(shè)計(jì)(2)主要功能模塊源程序prin tf(猜數(shù)字游戲:n);prin tf(*n)printf(1.新游戲 n);printf(2.幫助 n);printf(3.退出 n);prin tf(*n)prin tf(n請輸入選擇:n);sea nf(%d,&b);while(b!=3)switch(b
12、)case 1:compare(a);break;case 2:help();break;default:pri ntf(error!);scan f(%d,&b);void help()游戲規(guī)則說明函數(shù)printf(”該游戲由程序隨機(jī)生成四個(gè) 0到9的數(shù)字n游戲者有八次機(jī)會來根據(jù)系統(tǒng)提示猜測數(shù)字n);printf(nA-表示位置與數(shù)字均正確的個(gè)數(shù)nB-表示數(shù)字正確但位置不正確的個(gè)數(shù)n);void compare nt a)比較用戶輸入數(shù)據(jù)與系統(tǒng)隨機(jī)數(shù),并產(chǎn)生提示信息int b4,i,j,k=1,A=0,B=0,N=8,x;printf(”請輸入猜測的四位數(shù):n);while(A!=4&k=N
13、)A=0;B=0;sca nf(%d, &x);玩家從鍵盤輸入的數(shù)據(jù)while(x10000)prin tf(輸入不合法! n);sea nf(%d, &x);for(i=3;i=0;i-)bi=x%10; x=x/10;for(i=0;i4;i+)比較對應(yīng)位置上的數(shù)if(ai=bi) A+;for(i=0;i4;i+) for(j=0;j8) printf(游戲失敗!n);四、調(diào)試分析過程(1)調(diào) 試 過 程 出 現(xiàn) 的 問 題 及 解 決 方 法剛開始執(zhí)行輸入函數(shù),按數(shù)字順序輸入,輸完后執(zhí)行 顯示功能,數(shù)字、字母的位置顯示不對,試著在其中增 加一些語句,希望能把所需結(jié)果按正常順序顯示,但暫
14、 時(shí)沒有成功,最后在老師的幫助下,所需結(jié)果能按正常 順序輸出了。在前面對猜數(shù)字游 戲進(jìn)行需求分析的過程 中,已經(jīng)初步明確了系統(tǒng)的主要功能模塊和用 戶需求,下面將在總體設(shè)計(jì)的過程中,給出猜 數(shù)字游戲的模塊結(jié)構(gòu)、流程描述以及界面布局, 并使得系統(tǒng)的總體設(shè)計(jì)符合軟件工程中總體設(shè) 計(jì)的基本原則。開發(fā)與設(shè)計(jì)的總體思想:猜數(shù)字游戲是一種大眾娛樂游戲,開發(fā)與 設(shè)計(jì)的重點(diǎn)在于游戲供玩家進(jìn)行猜數(shù)字游戲的 原始數(shù)字的產(chǎn)生和用戶每次進(jìn)行猜數(shù)字操作之 后的游戲提示,這兩方面的規(guī)則設(shè)計(jì)往往決定 了軟件運(yùn)行的正確性和質(zhì)量。同時(shí),要謹(jǐn)記調(diào) 試失敗的原因,以免下次犯同類錯(cuò)誤。四、調(diào)試分析過程(2)測 試 數(shù) 據(jù) 及 測 試
15、結(jié) 果游戲初始畫面進(jìn)入系統(tǒng)選擇1進(jìn)行游戲,隨機(jī)輸入 4個(gè)不同的數(shù)字輸入3個(gè)不同的數(shù)則會提示輸入有誤選擇2系統(tǒng)幫助界面訓(xùn)飄宇i ii五、總結(jié)設(shè) 計(jì) 用 到 的 知 識 占J 、C編譯器提供了基于 ANSI標(biāo)準(zhǔn)的偽隨機(jī)數(shù)發(fā)生器函數(shù) rand()和srand(),用來生成隨機(jī)數(shù)。這二個(gè)函數(shù)的工 作過程如下:srand()提供一個(gè)種子,它是一個(gè)unsigned int類型,其取值范圍從 065535;然后調(diào)用rand(), 它會根據(jù)提供給srand()的種子值返回一個(gè)隨機(jī)數(shù)(在0 到32767之間);根據(jù)需要多次調(diào)用rand(),從而不間 斷地得到新的隨機(jī)數(shù);無論什么時(shí)候,都可以給 sran d()提
16、供一個(gè)新的種子,從而進(jìn)一步“隨機(jī) 化” rand()的輸出結(jié)果。收 獲 與 體 會在進(jìn)行課程設(shè)計(jì)之前幾天,不知從何入手,一臉茫 然。為什么呢?因?yàn)槲覀兿胱约鹤约鹤龀鰜矶粎⒖既?何資料,以為這樣才可體現(xiàn)我們的智慧和能力,其實(shí)這 是大錯(cuò)特錯(cuò)的。當(dāng)然也不是一味強(qiáng)調(diào)自己動腦自己做出 來不好,從開發(fā)方面角度來說是可以的,有些東西也并 不是一味的照搬照抄。抱著這樣的態(tài)度迷茫了三四天只 想出了一丁點(diǎn)大至結(jié)構(gòu)。最后決定上網(wǎng)找資料,不杳不 知道,一查大吃一驚,不但自己的想法網(wǎng)上比比皆是, 比自己的想法更完美更合理的多得看都看不完。此時(shí)真 是自愧不如,如早從網(wǎng)上借鑒,集大家之所成,加上自 己的修改完善,早已做出
17、了更好的系統(tǒng)結(jié)結(jié)構(gòu)和想法了。 現(xiàn)在才知道,一個(gè)人的智慧敵不過千萬人智慧的集成, 能借鑒的盡量借鑒,然后再修改完善,增加自己所需的功能,做出自己的特色。偉大的物理學(xué)家牛頓不也說過他之所以成功是站在偉人的肩上嗎?兀成設(shè)計(jì)后,我覺得收獲不少,首先是自己首次應(yīng) 用所學(xué)知識做出了這個(gè)游戲系統(tǒng),以前從未做過這樣大(這是對我而言,在專業(yè)人仕看來是小菜一碟) 的程序, 多少心里有點(diǎn)甜美的感覺;而收獲更大的是讓我學(xué)到了 怎樣和他人合作完成一件任務(wù),以及在完成的過程中如 何溝通。不完成設(shè)計(jì)是在一定時(shí)間內(nèi)完成的,在完成這個(gè)設(shè)計(jì)足時(shí),我們做得顯然有一些緊迫,我想是沒合理安排好時(shí)與間和開始態(tài)度不正確所致,做守完后我覺得合理安排時(shí)努間是非常重要的否則可能時(shí)間已到而還無法完成或完成力得倉促,應(yīng)合理安排時(shí)間給各個(gè)環(huán)節(jié)。方向八、參考文獻(xiàn)參 考 書 籍 及參 考 論 文 與 網(wǎng) 址C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題解答蔣清明人民郵電出版社C語言程序設(shè)計(jì)案例教程張基溫清華大學(xué)出版社課程設(shè)計(jì)與系統(tǒng)開發(fā)案例伍俊良清華大學(xué)出版社C程序設(shè)計(jì) (第三版)譚浩強(qiáng)清華大學(xué)出版社C語言程序設(shè)計(jì)蔣清明 人民郵電出版社課程設(shè)計(jì)成績評審表姓名楊晨學(xué)號1303090190班級機(jī)械1310班設(shè)計(jì)題目猜數(shù)字游戲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西洪州職業(yè)學(xué)院《獸醫(yī)產(chǎn)科學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 防城港職業(yè)技術(shù)學(xué)院《科技哲學(xué)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建師范大學(xué)協(xié)和學(xué)院《測試信號分析與處理》2023-2024學(xué)年第二學(xué)期期末試卷
- 合肥經(jīng)濟(jì)學(xué)院《德育原理C》2023-2024學(xué)年第二學(xué)期期末試卷
- 創(chuàng)意畫小燕子課件
- 2025綠化購銷合同模板
- 2025關(guān)于租賃中介合同范本
- 2025超市貨物采購合同范本
- 2025二手手機(jī)買賣合同范本【手機(jī)買賣合同】
- 2025合法的合同代理協(xié)議樣本
- 畢業(yè)論文指導(dǎo)教師指導(dǎo)記錄6篇
- 跨越架施工方案
- 古書院礦1.2Mt新井設(shè)計(jì)(機(jī)械CAD圖紙)
- 財(cái)產(chǎn)和行為稅納稅申報(bào)表
- 人民幣全版(錢幣)教學(xué)打印版word版
- 貝氏體鋼軌超高周疲勞行為的研究課件
- 人員能力矩陣圖
- 多智能體系統(tǒng)教材課件匯總完整版ppt全套課件最全教學(xué)教程整本書電子教案全書教案課件合集
- 購物中心租金修正測算
- 冀教版八年級下冊nit 5 Buying and Selling Lesson 30 A Cookie Sale課件(共13張PPT)
- 講人工智能的誕生課件
評論
0/150
提交評論