版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 計算機(jī)學(xué)院計算機(jī)科學(xué)與技術(shù)專業(yè)程序設(shè)計綜合課程設(shè)計報告 (2011/2012學(xué)年 第一學(xué)期)學(xué)生姓名: 學(xué)生班級: 學(xué)生學(xué)號: 指導(dǎo)教師: 2011年12月30日猜單詞游戲目錄第一章 課程設(shè)計的目的和要求.11.1 課程設(shè)計的目的11.2 課程設(shè)計的目標(biāo)11.3 課程設(shè)計要求2第二章 課程設(shè)計任務(wù)內(nèi)容32.1 課程設(shè)計題目32.2功能需求32.3系統(tǒng)模塊圖4第三章 詳細(xì)設(shè)計說明53.1 主函數(shù)的流程圖53.2 編碼與調(diào)試6第四章 軟件使用說明及運行結(jié)果84.1使用說明84.2 運行結(jié)果9第五章 課程設(shè)計心得與體會14附錄1:參考文獻(xiàn)16附錄2:程序清單17第一章 課程設(shè)計的目的和要求1.1課
2、程設(shè)計的目的c+語言課程設(shè)計的主要目的是培養(yǎng)學(xué)生綜合運用c+程序設(shè)計課程所學(xué)到的知識,編寫c+程序解決實際問題的能力,以及嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和良好的程序設(shè)計習(xí)慣。通過課程設(shè)計的訓(xùn)練,學(xué)生應(yīng)該能夠了解程序設(shè)計的基本開發(fā)過程,掌握編寫、調(diào)試和測試c+語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計的基本方法。c+語言程序設(shè)計的主要任務(wù)時要求學(xué)生遵循軟件開發(fā)過程的基本規(guī)范,運用結(jié)構(gòu)化程序設(shè)計的方法,按照課程設(shè)計的題目要求,分析、設(shè)計、編寫、調(diào)試和測試c+語言程序及編寫設(shè)計報告。本次課程設(shè)計是通過設(shè)計一個較為簡單的猜單詞小游戲來進(jìn)一步熟悉c+中有關(guān)各種知識的運用與掌握。了解系統(tǒng)開發(fā)的需求分析、模塊分析、程序流程
3、圖、編碼測試、模塊組裝與整體調(diào)試的全過程,加深對c+的理解與vsual c+環(huán)境的使用;逐步熟悉程序設(shè)計的方法,并養(yǎng)成良好的編程習(xí)慣,進(jìn)一步培養(yǎng)完善的c+編程設(shè)計思維,為以后進(jìn)行軟件編程等深入學(xué)習(xí)打下一個牢固基礎(chǔ)。1.2課程設(shè)計的目標(biāo)本課程設(shè)計的目標(biāo):1. 鞏固和加深學(xué)生對c+語言課程的基本知識的理解和掌握;2. 掌握c+語言編程和程序調(diào)試的基本技能;3. 掌握利用c+語言進(jìn)行軟件設(shè)計的方法;4. 提高書寫程序設(shè)計說明文檔的能力;5. 提高運用c+語言解決實際問題的能力。1.3課程設(shè)計要求基本要求:1.題目:設(shè)計一個猜單詞的小游戲程序;2.了解該程序開發(fā)的相關(guān)背景;3.參考相關(guān)書籍學(xué)習(xí)課程設(shè)計
4、的基本知識;4.清楚所開發(fā)程序的各個相關(guān)功能,以便順利開發(fā)程序;5.對系統(tǒng)功能模塊進(jìn)行分析,寫出設(shè)計說明文檔;6.設(shè)計完成的程序要便于操作和使用;7.對自己所設(shè)計的程序進(jìn)行調(diào)試,并不斷完善;8.在設(shè)計過程中熟練掌握軟件編程的相關(guān)知識;9.詳細(xì)體會并記錄相關(guān)過程,并將心得體會寫在課程設(shè)計報告中;10.設(shè)計完成后提交課程設(shè)計報告。第二章 課程設(shè)計任務(wù)內(nèi)容2.1 課程設(shè)計題目猜單詞游戲。2.2功能需求用c+實現(xiàn)猜單詞游戲。該系統(tǒng)主要有以下功能:1、 提供可操作的主菜單:輸出4個菜單,用于顯示若干個可選的功能選項。根據(jù)玩家輸入的選項來運行不同的功能,運行不同的函數(shù)。2、 進(jìn)行文本信息的載入:從指定的文
5、件中以一維數(shù)組形式加載游戲玩家記錄信息這里的文件是在編譯時就已經(jīng)指定好的、存在的文本,需設(shè)計者預(yù)先自己建立好。3、 設(shè)置游戲功能:以客戶輸入的猜單詞游戲次數(shù)和猜的單詞數(shù)目進(jìn)行游戲功能的個性化修改。4、 猜詞過程:隨機(jī)抽取單詞,對每個單詞,系統(tǒng)根據(jù)謎底單詞長度在屏幕上顯示相應(yīng)個數(shù)-。玩家輸入一個字母進(jìn)行猜測,如果這個字母不在單詞中,系統(tǒng)提示玩家不對;如果猜對字母,則替換單詞中相應(yīng)位置的“-”。直到玩家在規(guī)定的次數(shù)內(nèi)猜出了單詞或者超過次數(shù)游戲失敗。顯示玩家每個單詞猜對與猜錯次數(shù)等統(tǒng)計信息。如果玩家猜出單詞,計算成績,滿足進(jìn)入記錄前五名的記錄寫入到記錄文件中覆蓋原紀(jì)錄。詢問玩家是否開始新一輪猜詞,如
6、果玩家選“否”,則系統(tǒng)退到外面的菜單。5、 查看更新過的游戲排行榜:退回主界面選3,打開之前進(jìn)行游戲時重新寫入過的記錄文件。2.3系統(tǒng)模塊圖以下是猜單詞游戲的模塊圖:猜單詞游戲設(shè)置游戲進(jìn)行游戲查看排行榜游戲次數(shù)猜單詞次數(shù)圖2-1 系統(tǒng)模塊圖第三章 詳細(xì)設(shè)計說明3.1 主函數(shù)的流程圖輸入字母字母是否在單詞中提示錯誤yn替換對應(yīng)單詞計入成績查詢玩家數(shù)據(jù)追加玩家數(shù)據(jù)結(jié)束開始圖3-1主函數(shù)流程圖3.2碼與調(diào)試1、主要結(jié)構(gòu)體/類:struct playerchar name20;/玩家姓名 int right; /猜對的字母int wrong; /猜錯的字幕int time; /猜單詞的時間;class
7、 bytimeprivate:clock_t start;public:bytime()start=clock(); /開始計時bytime(); /析構(gòu)函數(shù)void endtime()clock_t end;end=clock(); /結(jié)束計時times=(end-start)/clocks_per_sec; /計算時間cout共用時:times秒endl; /輸出時間;2、主要函數(shù):(參考文獻(xiàn)1)(1)文件打開函數(shù)void openwordfile(char string20012):設(shè)計思想一致,用于打開單獨儲存的單詞庫及游戲記錄txt文件。(2)設(shè)置函數(shù)void set(),void
8、setgame:用于設(shè)置游戲中猜單詞的次數(shù)與數(shù)目。(3)“玩游戲”函數(shù):void playgame (char wordlist20012):用于對玩家輸入的字母進(jìn)行處理與判斷(4)“開始游戲”函數(shù)void startgame (char wordlist20012):將openwordfile (str); change (wordlist,str);playgame(wordlist)等函數(shù)統(tǒng)一調(diào)用(5)記錄顯示函數(shù)void show():用于將寫入過新紀(jì)錄的文件顯示到屏幕上。(6)記錄讀入函數(shù)void record():將最新的游戲成績記錄通過文件讀寫,從內(nèi)存中保存到原文本文件中第四章
9、軟件使用說明及運行結(jié)果4.1使用說明開始執(zhí)行程序。根據(jù)數(shù)據(jù)結(jié)構(gòu)、函數(shù)功能和主要的流程圖,進(jìn)行錄入源代碼操作。在編碼時,注意代碼的書寫規(guī)范,包括命名慣例、注釋、分隔和縮進(jìn)等,這樣使程序?qū)游銮逦?,增?qiáng)可讀性和可維護(hù)性。 編碼操作完成后,先靜態(tài)檢查一下有沒有語法錯誤,然后進(jìn)行編譯,更深一步檢查語法錯誤。待編譯通過時,運行程序,觀察是否能夠正常運行,如果有問題,再去修改源程序,直至達(dá)到了預(yù)期的效果。4.2運行結(jié)果1. 顯示的主菜單界面:2.請輸入選擇: 3.請輸入單詞數(shù):4. 請輸入你的姓名: 6. 開始游戲7. 成績排行:8. 退出程序:第五章 課程設(shè)計心得與體會程序設(shè)計養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn)
10、,提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,當(dāng)今計算機(jī)應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握計算機(jī)開發(fā)技術(shù)是十分重要的?;仡櫰鸫舜握n程設(shè)計,至今我仍感慨頗多,的確,自從拿到題目到完成整個編程,從理論到實踐,在整整一個星期的日子里,可以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提
11、高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,這畢竟獨立做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在謝老師的辛勤指導(dǎo)下,終于游逆而解。同時,在李老師的身上我學(xué)得到很多實用的知識,在次我表示感謝!同時,對給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!最后,很感激學(xué)校給了我們這次動手實踐的機(jī)會,讓我們學(xué)生有了一個共同學(xué)習(xí),增長見識,開拓視野的機(jī)會。也感謝老師們對我們無私忘我的指導(dǎo),
12、我會以這次課程設(shè)計大賽作為對自己的激勵,繼續(xù)學(xué)習(xí)。附錄1:參考文獻(xiàn)1譚浩強(qiáng)編著:c+程序設(shè)計,北京:清華大學(xué)出版社,20042楊秀金編著:數(shù)據(jù)結(jié)構(gòu)(c+版),北京:人民郵電出版社,2009.43湛為芳編著:c+程序設(shè)計技術(shù)習(xí)題解答和實驗指導(dǎo),北京:清華大學(xué)出版社,2009.10附錄2:程序清單源程序代碼#include #include #include #include #include #include void openwordfile(char string20012);void playgame(char wordlist20012);void change(char wordlis
13、t20012,char str20012);void startgame (char wordlist20012);int round;void set() printf(請輸入您想猜的單詞數(shù):);scanf(%d,&round);struct playerchar name20; int right;int wrong;int time;typedef struct player player;player p5=1,unknown,0,0,0,2,unknown,0,0,0,3,unknown,0,0,0,4,unknown,0,0,0,5,unknown,0,0,0;player tem
14、p;int right=0,wrong=0;int times;class bytimeprivate:clock_t start;public:bytime()start=clock();bytime();void endtime()clock_t end;end=clock();times=(end-start)/clocks_per_sec;cout共用時:times秒endl; ;void openwordfile (char string20012)file *fp; char c; int i=0; int j=0; if(fp=fopen(word.txt,r)=null) /讀
15、文件 printf(單詞庫無法打開!n); exit(0); elsec=fgetc(fp); while(c!=eof) if(c!=n) stringij=c; j+; else i+; j=0; c=fgetc(fp); int guesstime=10;void setgame ()printf(請輸入你想猜的次數(shù):);scanf(%d,&guesstime);void playgame (char wordlist20012)char guess; /存用戶打入的字母char guessword12;/存用戶打入的詞int l,j,k,f;int p=1,q=0,x=0,y=0;ch
16、ar wrongguess12;int t=0;int flag=0; int c=1; /用來查看是否猜對所有字母srand(time(null);q=rand()%200;l=strlen(wordlistq); /求單詞長for(f=0;fl;f+) /定義詞一空單詞,詞長與所選一樣guesswordf=-;guesswordl=0; /字符串結(jié)尾printf(%s,guessword);/打印與詞長相同的-for(k=1;k=guesstime & c!=0;) /判斷是否猜完 flag = 0; printf(你還有%d次機(jī)會!n,guesstime-k+1);scanf( %c,&
17、guess);for(j=0;jy) y=x; elsek+; c=strcmp(guessword,wordlistq); if(c=0)printf(nhow smart you are! 你成功猜出了這個單詞!n正確單詞就是:%s,wordlistq);right+;if(c!=0)printf(nsorry. 你已經(jīng)超過了規(guī)定的次數(shù),挑戰(zhàn)失敗了.n正確單詞是:%s,wordlistq);wrong+;printf(你猜對了%d個字母,猜錯了%d個字母。n,x,k-1);wrongguesst = 0;printf(錯誤字母分別是%sn,wrongguess);void change (
18、char wordlist20012,char str20012)int i,j;for(i=0;i200;i+)for(j=0;j12;j+)wordlistij=strij; void input()printf(請先輸入您的大名:);scanf(%s,);void result()temp.right=right;temp.wrong=wrong;void time()temp.time=times;void compare()int i,j,k;for(i=0;ipi.right) for(j=5;ji;j-)for(k=0;k20;k+)k=pj-1.
19、namek;pj.right=pj-1.right; pj.wrong=pj-1.wrong; pj.time=pj-1.time;for(k=0;k20;k+)k=k;pi.right=temp.right;pi.wrong=temp.wrong;pi.time=temp.time;break;void record()int i;file *fp;fp=fopen(record.txt,r+);if(!fp)printf(游戲記錄無法打開!);exit(1); fprintf(fp,名次t姓名tt成績:猜對 or 猜錯)t時間(s)n);for(i=0;i5;i+)fprintf(fp,%dt%sttright:%d wrong:%dt%dn,i+1,,pi.right,pi.wrong,pi.time);fclose(fp);void show()int i;file *fp;fp=fopen(r
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 惠州2024年廣東惠州市第一婦幼保健院第三批聘用制工作人員招聘34人筆試歷年參考題庫附帶答案詳解
- 2025年度限價房項目回遷房買賣合同2篇
- 2025年浙江國企寧波市奉化區(qū)融媒文化發(fā)展有限公司招聘筆試參考題庫附帶答案詳解
- 2024年超聲波美容儀項目可行性研究報告
- 2025年浙江寧波市余姚市西南城建投資開發(fā)有限公司招聘筆試參考題庫附帶答案詳解
- 2024年蛋型碟蓋項目可行性研究報告
- 2025至2031年中國智能型渦街流量傳感器行業(yè)投資前景及策略咨詢研究報告
- 2025年廣西梧州人力資源和社會保障局事業(yè)單位招聘70人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年廣西桂林市工商行政管理局直接招聘2人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年廣西桂平市交通運輸局招聘2人編外人員歷年高頻重點提升(共500題)附帶答案詳解
- 南充化工碼頭管網(wǎng)施工方案(初稿)
- 2023年消防接警員崗位理論知識考試參考題庫(濃縮500題)
- GB/T 30285-2013信息安全技術(shù)災(zāi)難恢復(fù)中心建設(shè)與運維管理規(guī)范
- 魯濱遜漂流記閱讀任務(wù)單
- 第一章 運營管理概論1
- 《創(chuàng)意繪畫在小學(xué)美術(shù)教育中的應(yīng)用(論文)6000字》
- 主體結(jié)構(gòu)驗收匯報材料T圖文并茂
- 管理學(xué)原理(南大馬工程)
- 過一個有意義的寒假課件
- 施工現(xiàn)場裝配式集裝箱活動板房驗收表
- 電力業(yè)擴(kuò)工程竣工驗收單
評論
0/150
提交評論