版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 計(jì)算機(jī)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)</p><p> 《程序設(shè)計(jì)綜合課程設(shè)計(jì)》報(bào)告</p><p> ?。?011/2012學(xué)年 第一學(xué)期)</p><p> 學(xué)生姓名: </p><p> 學(xué)生班級(jí): </p><p> 學(xué)生學(xué)號(hào): &
2、lt;/p><p> 指導(dǎo)教師: </p><p> 2011年12月30日</p><p><b> 猜</b></p><p><b> 單</b></p><p><b> 詞</b></p>
3、;<p><b> 游</b></p><p><b> 戲</b></p><p><b> 目錄</b></p><p> 第一章 課程設(shè)計(jì)的目的和要求..1</p><p> 1.1 課程設(shè)計(jì)的目的1</p><p>
4、 1.2 課程設(shè)計(jì)的目標(biāo)1</p><p> 1.3 課程設(shè)計(jì)要求2</p><p> 第二章 課程設(shè)計(jì)任務(wù)內(nèi)容3</p><p> 2.1 課程設(shè)計(jì)題目3</p><p><b> 2.2功能需求3</b></p><p> 2.3系統(tǒng)模塊圖4</p><
5、;p> 第三章 詳細(xì)設(shè)計(jì)說明5</p><p> 3.1 主函數(shù)的流程圖5</p><p> 3.2 編碼與調(diào)試6</p><p> 第四章 軟件使用說明及運(yùn)行結(jié)果8</p><p><b> 4.1使用說明8</b></p><p> 4.2 運(yùn)行結(jié)果9</p
6、><p> 第五章 課程設(shè)計(jì)心得與體會(huì)14</p><p> 附錄1:參考文獻(xiàn)16</p><p> 附錄2:程序清單17</p><p> 第一章 課程設(shè)計(jì)的目的和要求</p><p> 1.1課程設(shè)計(jì)的目的</p><p> C++語言課程設(shè)計(jì)的主要目的是培養(yǎng)學(xué)生綜合運(yùn)用C++
7、程序設(shè)計(jì)課程所學(xué)到的知識(shí),編寫C++程序解決實(shí)際問題的能力,以及嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和良好的程序設(shè)計(jì)習(xí)慣。</p><p> 通過課程設(shè)計(jì)的訓(xùn)練,學(xué)生應(yīng)該能夠了解程序設(shè)計(jì)的基本開發(fā)過程,掌握編寫、調(diào)試和測試C++語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計(jì)的基本方法。</p><p> C++語言程序設(shè)計(jì)的主要任務(wù)時(shí)要求學(xué)生遵循軟件開發(fā)過程的基本規(guī)范,運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的方法,按照課程設(shè)計(jì)的題
8、目要求,分析、設(shè)計(jì)、編寫、調(diào)試和測試C++語言程序及編寫設(shè)計(jì)報(bào)告。</p><p> 本次課程設(shè)計(jì)是通過設(shè)計(jì)一個(gè)較為簡單的猜單詞小游戲來進(jìn)一步熟悉C++中有關(guān)各種知識(shí)的運(yùn)用與掌握。了解系統(tǒng)開發(fā)的需求分析、模塊分析、程序流程圖、編碼測試、模塊組裝與整體調(diào)試的全過程,加深對(duì)C++的理解與Vsual C++環(huán)境的使用;逐步熟悉程序設(shè)計(jì)的方法,并養(yǎng)成良好的編程習(xí)慣,進(jìn)一步培養(yǎng)完善的C++編程設(shè)計(jì)思維,為以后進(jìn)行軟件編程
9、等深入學(xué)習(xí)打下一個(gè)牢固基礎(chǔ)。</p><p> 1.2課程設(shè)計(jì)的目標(biāo)</p><p><b> 本課程設(shè)計(jì)的目標(biāo):</b></p><p> 鞏固和加深學(xué)生對(duì)C++語言課程的基本知識(shí)的理解和掌握;</p><p> 掌握C++語言編程和程序調(diào)試的基本技能;</p><p> 掌握利用C+
10、+語言進(jìn)行軟件設(shè)計(jì)的方法;</p><p> 提高書寫程序設(shè)計(jì)說明文檔的能力;</p><p> 提高運(yùn)用C++語言解決實(shí)際問題的能力。</p><p><b> 1.3課程設(shè)計(jì)要求</b></p><p><b> 基本要求:</b></p><p> 1.題目:
11、設(shè)計(jì)一個(gè)猜單詞的小游戲程序;</p><p> 2.了解該程序開發(fā)的相關(guān)背景;</p><p> 3.參考相關(guān)書籍學(xué)習(xí)課程設(shè)計(jì)的基本知識(shí);</p><p> 4.清楚所開發(fā)程序的各個(gè)相關(guān)功能,以便順利開發(fā)程序;</p><p> 5.對(duì)系統(tǒng)功能模塊進(jìn)行分析,寫出設(shè)計(jì)說明文檔;</p><p> 6.設(shè)計(jì)完成的
12、程序要便于操作和使用;</p><p> 7.對(duì)自己所設(shè)計(jì)的程序進(jìn)行調(diào)試,并不斷完善;</p><p> 8.在設(shè)計(jì)過程中熟練掌握軟件編程的相關(guān)知識(shí);</p><p> 9.詳細(xì)體會(huì)并記錄相關(guān)過程,并將心得體會(huì)寫在課程設(shè)計(jì)報(bào)告中;</p><p> 10.設(shè)計(jì)完成后提交課程設(shè)計(jì)報(bào)告。</p><p> 第二章
13、 課程設(shè)計(jì)任務(wù)內(nèi)容</p><p> 2.1 課程設(shè)計(jì)題目</p><p><b> 猜單詞游戲。</b></p><p><b> 2.2功能需求</b></p><p> 用C++實(shí)現(xiàn)猜單詞游戲。該系統(tǒng)主要有以下功能:</p><p> 提供可操作的主菜單:輸出
14、4個(gè)菜單,用于顯示若干個(gè)可選的功能選項(xiàng)。根據(jù)玩家輸入的選項(xiàng)來運(yùn)行不同的功能,運(yùn)行不同的函數(shù)。</p><p> 進(jìn)行文本信息的載入:從指定的文件中以一維數(shù)組形式加載游戲玩家記錄信息這里的文件是在編譯時(shí)就已經(jīng)指定好的、存在的文本,需設(shè)計(jì)者預(yù)先自己建立好。</p><p> 設(shè)置游戲功能:以客戶輸入的猜單詞游戲次數(shù)和猜的單詞數(shù)目進(jìn)行游戲功能的個(gè)性化修改。</p><p&
15、gt; 猜詞過程:隨機(jī)抽取單詞,對(duì)每個(gè)單詞,系統(tǒng)根據(jù)謎底單詞長度在屏幕上顯示相應(yīng)個(gè)數(shù)'-'。玩家輸入一個(gè)字母進(jìn)行猜測,如果這個(gè)字母不在單詞中,系統(tǒng)提示玩家不對(duì);如果猜對(duì)字母,則替換單詞中相應(yīng)位置的“-”。直到玩家在規(guī)定的次數(shù)內(nèi)猜出了單詞或者超過次數(shù)游戲失敗。顯示玩家每個(gè)單詞猜對(duì)與猜錯(cuò)次數(shù)等統(tǒng)計(jì)信息。如果玩家猜出單詞,計(jì)算成績,滿足進(jìn)入記錄前五名的記錄寫入到記錄文件中覆蓋原紀(jì)錄。詢問玩家是否開始新一輪猜詞,如果玩家選“否
16、”,則系統(tǒng)退到外面的菜單。</p><p> 查看更新過的游戲排行榜:退回主界面選3,打開之前進(jìn)行游戲時(shí)重新寫入過的記錄文件。</p><p><b> 2.3系統(tǒng)模塊圖</b></p><p> 以下是猜單詞游戲的模塊圖:</p><p> 圖2-1 系統(tǒng)模塊圖</p><p> 第三
17、章 詳細(xì)設(shè)計(jì)說明</p><p> 3.1 主函數(shù)的流程圖</p><p> 圖3-1主函數(shù)流程圖</p><p><b> 3.2碼與調(diào)試</b></p><p> 1、主要結(jié)構(gòu)體/類:</p><p> struct Player</p><p><b&
18、gt; {</b></p><p> char name[20];//玩家姓名</p><p> int right; //猜對(duì)的字母</p><p> int wrong; //猜錯(cuò)的字幕</p><p> int time; //猜單詞的時(shí)間</p><p&g
19、t;<b> };</b></p><p> class ByTime</p><p><b> {</b></p><p><b> private:</b></p><p> clock_t start;</p><p><b>
20、 public:</b></p><p><b> ByTime()</b></p><p><b> {</b></p><p> start=clock(); //開始計(jì)時(shí)</p><p><b> }</b></p><p&g
21、t; ~ByTime(){}; //析構(gòu)函數(shù)</p><p> void Endtime()</p><p><b> {</b></p><p> clock_t end;</p><p> end=clock(); //結(jié)束計(jì)時(shí)</p><p> times=
22、(end-start)/CLOCKS_PER_SEC; //計(jì)算時(shí)間</p><p> cout<<"共用時(shí):"<<times<<"秒"<<endl; //輸出時(shí)間</p><p><b> }</b></p><p><
23、b> };</b></p><p><b> 2、主要函數(shù):</b></p><p> (1)文件打開函數(shù)void OpenWordFile(char string[200][12]):設(shè)計(jì)思想一致,用于打開單獨(dú)儲(chǔ)存的單詞庫及游戲記錄txt文件。</p><p> ?。?)設(shè)置函數(shù)void set(),void Setg
24、ame:用于設(shè)置游戲中猜單詞的次數(shù)與數(shù)目。</p><p> (3)“玩游戲”函數(shù):void PlayGame (char wordlist[200][12]):用于對(duì)玩家輸入的字母進(jìn)行處理與判斷</p><p> ?。?)“開始游戲”函數(shù)void StartGame (char wordlist[200][12]):將OpenWordFile (str); Change (w
25、ordlist,str);PlayGame(wordlist)等函數(shù)統(tǒng)一調(diào)用</p><p> ?。?)記錄顯示函數(shù)void Show():用于將寫入過新紀(jì)錄的文件顯示到屏幕上。</p><p> ?。?)記錄讀入函數(shù)void Record():將最新的游戲成績記錄通過文件讀寫,從內(nèi)存中保存到原文本文件中</p><p> 第四章 軟件使用說明及運(yùn)行結(jié)果</
26、p><p><b> 4.1使用說明</b></p><p> 開始執(zhí)行程序。根據(jù)數(shù)據(jù)結(jié)構(gòu)、函數(shù)功能和主要的流程圖,進(jìn)行錄入源代碼操作。在編碼時(shí),注意代碼的書寫規(guī)范,包括命名慣例、注釋、分隔和縮進(jìn)等,這樣使程序?qū)游銮逦?,增?qiáng)可讀性和可維護(hù)性。 </p><p> 編碼操作完成后,先靜態(tài)檢查一下有沒有語法錯(cuò)誤,然后進(jìn)行編譯,更深一步檢查語法錯(cuò)誤
27、。待編譯通過時(shí),運(yùn)行程序,觀察是否能夠正常運(yùn)行,如果有問題,再去修改源程序,直至達(dá)到了預(yù)期的效果。</p><p><b> 4.2運(yùn)行結(jié)果</b></p><p> 1. 顯示的主菜單界面:</p><p><b> 2.請(qǐng)輸入選擇:</b></p><p><b> 3.請(qǐng)輸入
28、單詞數(shù):</b></p><p> 4. 請(qǐng)輸入你的姓名:</p><p><b> 開始游戲</b></p><p><b> 成績排行:</b></p><p><b> 退出程序:</b></p><p> 第五章 課程設(shè)計(jì)心
29、得與體會(huì)</p><p> 程序設(shè)計(jì)養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握計(jì)算機(jī)開發(fā)技術(shù)是十分重要的。</p><p> 回顧起此次課程設(shè)計(jì),至今我仍感慨頗多,的確,自從拿到題目到完成整個(gè)編程,從理論到
30、實(shí)踐,在整整一個(gè)星期的日子里,可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,這畢竟獨(dú)立做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處
31、,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體……通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。</p><p> 終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在謝老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在李老師的身上我學(xué)得到很多實(shí)用的知識(shí),在次我表示感謝!同時(shí),對(duì)給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!</p><p> 最后,很感激學(xué)校給了
32、我們這次動(dòng)手實(shí)踐的機(jī)會(huì),讓我們學(xué)生有了一個(gè)共同學(xué)習(xí),增長見識(shí),開拓視野的機(jī)會(huì)。也感謝老師們對(duì)我們無私忘我的指導(dǎo),我會(huì)以這次課程設(shè)計(jì)大賽作為對(duì)自己的激勵(lì),繼續(xù)學(xué)習(xí)。</p><p><b> 附錄1:參考文獻(xiàn)</b></p><p> [1]譚浩強(qiáng)編著:C++程序設(shè)計(jì),北京:清華大學(xué)出版社,2004</p><p> [2]楊秀金編著:數(shù)據(jù)
33、結(jié)構(gòu)(c++版),北京:人民郵電出版社,2009.4</p><p> [3]湛為芳編著:C++程序設(shè)計(jì)技術(shù)習(xí)題解答和實(shí)驗(yàn)指導(dǎo),北京:清華大學(xué)出版社,2009.10</p><p><b> 附錄2:程序清單</b></p><p><b> 源程序代碼</b></p><p> #incl
34、ude <stdio.h></p><p> #include <stdlib.h></p><p> #include <string.h> </p><p> #include <time.h></p><p> #include <fstream.h></p>
35、;<p> #include <conio.h></p><p> void OpenWordFile(char string[200][12]);</p><p> void PlayGame(char wordlist[200][12]);</p><p> void Change(char wordlist[200][12],
36、char str[200][12]);</p><p> void StartGame (char wordlist[200][12]);</p><p> int round;</p><p> void Set()</p><p><b> { </b></p><p> pri
37、ntf("請(qǐng)輸入您想猜的單詞數(shù):");</p><p> scanf("%d",&round);</p><p><b> }</b></p><p> struct Player</p><p><b> {</b></p>&
38、lt;p> char name[20];</p><p> int right;</p><p> int wrong;</p><p><b> int time;</b></p><p><b> };</b></p><p> typedef st
39、ruct Player Player;</p><p> Player p[5]={{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}};</p>&l
40、t;p> Player temp;</p><p> int right=0,wrong=0;</p><p> int times;</p><p> class ByTime</p><p><b> {</b></p><p><b> private:</
41、b></p><p> clock_t start;</p><p><b> public:</b></p><p><b> ByTime()</b></p><p><b> {</b></p><p> start=clock()
42、;</p><p><b> }</b></p><p> ~ByTime(){};</p><p> void Endtime()</p><p><b> {</b></p><p> clock_t end;</p><p> end
43、=clock();</p><p> times=(end-start)/CLOCKS_PER_SEC;</p><p> cout<<"共用時(shí):"<<times<<"秒"<<endl; </p><p><b> }</b></p>&
44、lt;p><b> };</b></p><p> void OpenWordFile (char string[200][12])</p><p><b> {</b></p><p> FILE *fp; </p><p><b> char c; </b>
45、</p><p><b> int i=0; </b></p><p><b> int j=0; </b></p><p> if((fp=fopen("word.txt","r"))==NULL) //讀文件</p><p><b&
46、gt; { </b></p><p> printf("單詞庫無法打開!\n"); </p><p><b> exit(0); </b></p><p><b> } </b></p><p><b> else</b></p&
47、gt;<p><b> {</b></p><p> c=fgetc(fp); </p><p> while(c!=EOF) </p><p><b> { </b></p><p> if(c!='\n') </p><p><
48、;b> { </b></p><p> string[i][j]=c; </p><p><b> j++; </b></p><p><b> } </b></p><p><b> else </b></p><p>&l
49、t;b> { </b></p><p><b> i++; </b></p><p><b> j=0; </b></p><p><b> } </b></p><p> c=fgetc(fp); </p><p><
50、b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> int guesstime=10;</p><p> void SetGame ()</p><p><b> {<
51、;/b></p><p> printf("請(qǐng)輸入你想猜的次數(shù):");</p><p> scanf("%d",&guesstime);</p><p><b> }</b></p><p> void PlayGame (char wordlist[200]
52、[12])</p><p><b> {</b></p><p> char guess; //存用戶打入的字母</p><p> char guessword[12];//存用戶打入的詞</p><p> int l,j,k,f;</p>&
53、lt;p> int p=1,q=0,x=0,y=0;</p><p> char WrongGuess[12];</p><p><b> int t=0;</b></p><p> int flag=0; </p><p> int c=1; //用來查看是否猜對(duì)所有字母
54、</p><p> srand(time(NULL));</p><p> q=rand()%200;</p><p> l=strlen(wordlist[q]); //求單詞長</p><p> for(f=0;f<l;f++) //定義詞一空單詞,詞長與所選一樣</p>
55、<p><b> {</b></p><p> guessword[f]='-';</p><p><b> }</b></p><p> guessword[l]='\0'; //字符串結(jié)尾</p><p> printf("%s
56、",guessword);//打印與詞長相同的"-"</p><p> for(k=1;k<=guesstime && c!=0;) //判斷是否猜完 </p><p><b> {</b></p><p><b> flag = 0;</b></p&g
57、t;<p> printf("你還有%d次機(jī)會(huì)!\n",guesstime-k+1);</p><p> scanf(" %c",&guess);</p><p> for(j=0;j<l;j++) //循環(huán)判斷單詞中是否有所輸入字母</p><p><b> {</b>
58、;</p><p> if(guessword[j]=='-' ) //判斷是否猜過這個(gè)字母</p><p><b> {</b></p><p> if(wordlist[q][j]==guess||wordlist[q][j]-guess==32) //如果單詞中有這個(gè)字母</p><p>&
59、lt;b> {</b></p><p> guessword[j]=wordlist[q][j];//在空單詞中打入這個(gè)字母</p><p> x++; </p><p> flag = 1;</p><p><b> }</b></p>&
60、lt;p><b> }</b></p><p> else if(guessword[j]==guess||guessword[j]-guess==32) //如果猜過這個(gè)字母則提示(僅提示猜過的正確的字母)</p><p><b> {</b></p><p> printf("你已經(jīng)
61、輸入過這個(gè)字母了。\n");</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(flag == 0) //如果單詞中沒有這個(gè)字母</
62、p><p><b> {</b></p><p> WrongGuess[t] = guess ;</p><p> t++;//guessword[j]='-'; //在空單詞中打入‘-’</p><p><b> }</b></p><p> p
63、rintf("%s",guessword); </p><p> if(x>y) </p><p><b> y=x; </b></p><p><b> else</b></p><p> k++; </p><p&g
64、t; c=strcmp(guessword,wordlist[q]); </p><p><b> }</b></p><p><b> if(c==0){</b></p><p> printf("\nHow smart you are! 你成功猜出了這個(gè)單詞!\n正確單詞就是:%s",w
65、ordlist[q]);</p><p><b> right++;</b></p><p><b> }</b></p><p><b> if(c!=0)</b></p><p><b> {</b></p><p>
66、 printf("\nSorry... 你已經(jīng)超過了規(guī)定的次數(shù),挑戰(zhàn)失敗了...\n正確單詞是:%s",wordlist[q]);</p><p><b> wrong++;</b></p><p><b> }</b></p><p> printf("你猜對(duì)了%d個(gè)字母,猜錯(cuò)了%d個(gè)
67、字母。\n",x,k-1);</p><p> WrongGuess[t] = '\0';</p><p> printf("錯(cuò)誤字母分別是%s\n",WrongGuess);</p><p><b> }</b></p><p> void Change (char
68、 wordlist[200][12],char str[200][12])</p><p><b> {</b></p><p><b> int i,j;</b></p><p> for(i=0;i<200;i++){</p><p> for(j=0;j<12;j++){&
69、lt;/p><p> wordlist[i][j]=str[i][j]; </p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void Input()</p&g
70、t;<p><b> {</b></p><p> printf("請(qǐng)先輸入您的大名:");</p><p> scanf("%s",temp.name);</p><p><b> }</b></p><p> void Result
71、()</p><p><b> {</b></p><p> temp.right=right;</p><p> temp.wrong=wrong;</p><p><b> }</b></p><p> void Time()</p><p&
72、gt;<b> {</b></p><p> temp.time=times;</p><p><b> }</b></p><p> void Compare()</p><p><b> {</b></p><p> int i,j,k;
73、</p><p> for(i=0;i<6;i++){</p><p> if(temp.right>p[i].right) {</p><p> for(j=5;j>i;j--){</p><p> for(k=0;k<20;k++){</p><p> p[j].name[k
74、]=p[j-1].name[k];</p><p><b> }</b></p><p> p[j].right=p[j-1].right;</p><p> p[j].wrong=p[j-1].wrong;</p><p> p[j].time=p[j-1].time;</p><p>
75、<b> }</b></p><p> for(k=0;k<20;k++){</p><p> p[i].name[k]=temp.name[k];</p><p><b> }</b></p><p> p[i].right=temp.right;</p><p
76、> p[i].wrong=temp.wrong;</p><p> p[i].time=temp.time;</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><
77、;p><b> }</b></p><p> void Record()</p><p><b> {</b></p><p><b> int i;</b></p><p><b> FILE *fp;</b></p>&l
78、t;p> fp=fopen("record.txt","r+");</p><p><b> if(!fp)</b></p><p><b> {</b></p><p> printf("游戲記錄無法打開!");</p><p&
79、gt;<b> exit(1);</b></p><p><b> }</b></p><p> fprintf(fp,"名次\t姓名\t\t成績:猜對(duì) or 猜錯(cuò))\t時(shí)間(s)\n");</p><p> for(i=0;i<5;i++){</p><p>
80、 fprintf(fp,"%d\t%s\t\tRight:%d Wrong:%d\t%d\n",i+1,p[i].name,p[i].right,p[i].wrong,p[i].time);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }<
81、;/b></p><p> void Show()</p><p><b> {</b></p><p><b> int i;</b></p><p><b> FILE *fp;</b></p><p> fp=fopen("
82、;record.txt","r");</p><p><b> if(!fp)</b></p><p><b> {</b></p><p> printf("游戲記錄無法打開!\n");</p><p><b> exit(1);
83、</b></p><p><b> }</b></p><p> fprintf(stdout,"名次\t姓名\t\t成績(猜對(duì) 猜錯(cuò))\t時(shí)間(s)\n");</p><p> for(i=0;i<5;i++){</p><p> fprintf(stdout,"
84、;%d\t%s\t\tRight:%d Wrong:%d\t%d\n",i+1,p[i].name,p[i].right,p[i].wrong,p[i].time);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p>
85、<p> void StartGame (char wordlist[200][12])</p><p><b> {</b></p><p><b> int p=1;</b></p><p><b> while(p)</b></p><p><
86、b> {</b></p><p><b> int i;</b></p><p> char play;</p><p><b> ByTime t;</b></p><p> for(i=0;i<round;i++)</p><p><
87、;b> {</b></p><p> char str[200][12]={0};</p><p> printf("請(qǐng)輸入你要猜的字母,每次一個(gè),祝你好運(yùn)哦!\n");</p><p> OpenWordFile (str);</p><p> Change (wordlist,str);&l
88、t;/p><p> PlayGame(wordlist);</p><p><b> }</b></p><p> t.Endtime();</p><p> temp.time=times;</p><p> temp.right=right;</p><p>
89、temp.wrong=wrong;</p><p> Compare();</p><p><b> Record();</b></p><p> printf("是否再玩一次?(Y/N)\n");</p><p> scanf(" %c",&play);</
90、p><p> if(play!='n')</p><p><b> continue;</b></p><p><b> else</b></p><p><b> break;</b></p><p> printf("
91、\n");</p><p><b> }</b></p><p><b> }</b></p><p> void Menu();</p><p> void main()</p><p><b> {</b></p>
92、<p><b> int p=1;</b></p><p><b> Record();</b></p><p> while(p) //使得猜完單詞或查看完排行榜后返回主菜單</p><p><b> {</b></p><p><b> M
93、enu();</b></p><p><b> }</b></p><p><b> }</b></p><p> void Menu()</p><p><b> {</b></p><p> int choice;</p
94、><p> char wordlist[200][12];</p><p> system("title 猜字母游戲———A small game to guess a certain word");</p><p> system("color f2");</p><p> printf(&quo
95、t;\n");</p><p> printf(" ******************** 猜單詞游戲 ******************** \n");</p><p> printf(" A small game to guess a certain word. Go
96、od Luck! \n");</p><p> printf("\n");</p><p> printf(" **************************************\n");</p><p> printf("
97、 >>>>>>>>>> 1. 開始游戲 <<<<<<<<<<\n");</p><p> printf(" >>>>>>>>>> 2. 設(shè)置游戲
98、 <<<<<<<<<<\n");</p><p> printf(" >>>>>>>>>> 3. 成績排行 <<<<<<<<<<\n");</p>
99、<p> printf(" >>>>>>>>>> 4. 退出游戲 <<<<<<<<<<\n");</p><p> printf(" *********************
100、*****************\n");</p><p> printf(" 制作人:高吉揚(yáng) 201020010106 \n");</p><p> printf("\n");</p><p> printf("請(qǐng)輸入你的選擇:");&
101、lt;/p><p> scanf("%d",&choice);</p><p> while(choice<1||choice>4)</p><p><b> {</b></p><p> printf("Please choice 1--4 again\n"
102、;);</p><p> scanf("%d",&choice);</p><p><b> }</b></p><p> switch (choice)//選擇</p><p><b> {</b></p><p><b>
103、; case 1:</b></p><p><b> Set();</b></p><p><b> Input();</b></p><p> StartGame (wordlist);//調(diào)用游戲函數(shù)</p><p><b> break;</b>&l
104、t;/p><p><b> case 2:</b></p><p> SetGame ();//調(diào)用設(shè)置函數(shù)</p><p><b> Set();</b></p><p><b> Input();</b></p><p> StartGame
105、(wordlist);</p><p><b> break;</b></p><p><b> case 3:</b></p><p><b> Show();</b></p><p><b> break;</b></p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 猜單詞游戲c++課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--猜數(shù)游戲
- c++課程設(shè)計(jì)報(bào)告--坦克游戲
- c語言課程設(shè)計(jì)---猜數(shù)字游戲報(bào)告
- c語言課程設(shè)計(jì)--猜數(shù)字游戲
- c語言課程設(shè)計(jì)--猜數(shù)字游戲
- c語言課程設(shè)計(jì)----猜字游戲
- c++課程設(shè)計(jì)-教學(xué)游戲
- c語言課程設(shè)計(jì)--猜數(shù)游戲
- 猜數(shù)字游戲課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--猜數(shù)字游戲
- c++課程設(shè)計(jì)拼圖游戲
- java課程設(shè)計(jì)-猜數(shù)游戲課程設(shè)計(jì)報(bào)告
- c語言程序課程設(shè)計(jì)-猜數(shù)字游戲
- c++課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)---吃豆子游戲程序
- c++剪刀石頭布游戲課程設(shè)計(jì)
- c++剪刀石頭布游戲課程設(shè)計(jì)
- c語言課程設(shè)計(jì)---猜數(shù)字游戲姚成
- c++掃雷課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論