版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 計算機(jī)科學(xué)與技術(shù)學(xué)院</p><p> 《C++高級語言程序設(shè)計課程設(shè)計》報告</p><p> ?。?016/2017學(xué)年 第一學(xué)期)</p><p> 學(xué)生姓名: </p><p> 學(xué)生班級: 軟件工程 </p><p> 學(xué)生學(xué)
2、號: </p><p> 指導(dǎo)教師: </p><p> 2016年12月20日</p><p><b> 課程設(shè)計任務(wù)書</b></p><p><b> 目 錄</b></p><p> 設(shè)計問題描述與需求分析待定&l
3、t;/p><p> 數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計4</p><p> 程序設(shè)計編碼與測試5</p><p> ?。?)設(shè)計過程總結(jié)與體會13</p><p><b> 程序源代碼:</b></p><p> #include<iostream></p>
4、;<p> using namespace std;</p><p> enum c_h_s{cloth,hammer,scissors,game,help,instructions,quit};</p><p> class Game //構(gòu)造類</p><p><b> {</b></p>&l
5、t;p><b> public:</b></p><p><b> Game();</b></p><p> enum c_h_s select();</p><p> enum c_h_s mach();</p><p> void instruct();</p>&
6、lt;p> int won(enum c_h_s,enum c_h_s);</p><p> void gamee(int,int,int);</p><p> void helpp(); </p><p> void solution();</p><p><b> private:</b><
7、/p><p><b> int win;</b></p><p> int lose;</p><p><b> int tie;</b></p><p> enum c_h_s player;</p><p> enum c_h_s machine;</p
8、><p><b> };</b></p><p> *****************成員函數(shù)定義模塊define.cpp************************</p><p> #include<iostream></p><p> using namespace std;</p>
9、<p> Game::Game() //初始化數(shù)據(jù)成員</p><p><b> {</b></p><p><b> win=0;</b></p><p><b> lose=0;</b></p><p><b> tie=0;</b
10、></p><p><b> }</b></p><p> void Game::instruct()</p><p><b> {</b></p><p> cout<<endl;</p><p> cout<<"&q
11、uot;<<"**** 剪刀 錘子 布 **** "<<endl;</p><p> cout<<"在這個游戲中"<<endl;</p><p> cout<<"c 表示布"<<endl;</p><p> cout&
12、lt;<"h 表示錘子"<<endl;</p><p> cout<<"s 表示剪刀."<<endl;</p><p> cout<<"游戲者和機(jī)器都只選擇 c,h,s中的一個.如果二者的選擇相同"<<endl;</p><p> co
13、ut<<"那么這一局就是平局.此外:"<<endl;</p><p> cout<<"\"布包錘子\"(布獲勝)."<<endl;</p><p> cout<<"\"錘子打爛剪刀\"(錘子獲勝)."<<endl;&
14、lt;/p><p> cout<<"\"剪刀剪布\"(剪刀獲勝)."<<endl;</p><p> cout<<endl;</p><p> cout<<"還有其它的選擇是:"<<endl;</p><p> cout
15、<<"g 表示游戲的結(jié)果(至今獲勝的次數(shù))"<<endl;</p><p> cout<<"p 可獲得幫助"<<endl;</p><p> cout<<"i 可獲得游戲方法的指導(dǎo)信息"<<endl;</p><p> cout&
16、lt;<"q 表示退出游戲."<<endl;</p><p> cout<<"這個游戲一直重復(fù)到游戲者選擇 q 為止."<<endl;</p><p> cout<<"祝你好運!"<<endl; //游戲結(jié)束</p><p><
17、b> }</b></p><p> enum c_h_s Game::select()</p><p><b> {</b></p><p><b> char c;</b></p><p> enum c_h_s p;</p><p> co
18、ut<<endl;</p><p> cout<<"請選擇 c,h,或s:";//提示用戶輸入字符</p><p> while((c=getchar())==' '||c=='\n'||c=='\t');</p><p> switch(c) {</p>
19、<p><b> case 'c':</b></p><p><b> p=cloth;</b></p><p><b> break;</b></p><p> case 'h': p=hammer;</p><p>&l
20、t;b> break;</b></p><p> case 's': p=scissors;</p><p><b> break;</b></p><p> case 'g': p=game;</p><p><b> break;</b>
21、;</p><p> case 'i': p=instructions;</p><p><b> break;</b></p><p> case 'q': p=quit;</p><p><b> break;</b></p><p&g
22、t; default: p=help;</p><p><b> break;</b></p><p><b> }</b></p><p> return(p);</p><p><b> }</b></p><p> enum c_h_
23、s Game::mach()</p><p><b> {</b></p><p> static int i;</p><p><b> i=++i%3;</b></p><p> return((i==0)?cloth:((i==1)?hammer:scissors));</p&
24、gt;<p><b> }</b></p><p> void Game::gamee(int win,int lose,int tie)</p><p><b> {</b></p><p> cout<<endl;</p><p> cout<<&
25、quot;游戲結(jié)果如下:";</p><p> cout<<endl;</p><p> cout.width(7);</p><p> cout<<"你獲勝的次數(shù)是:"<<win<<endl;</p><p> cout.width(7);<
26、/p><p> cout<<"我獲勝的次數(shù)是:"<<lose<<endl;</p><p> cout.width(7);</p><p> cout<<"平局的次數(shù)為: "<<tie<<endl;</p><p>
27、cout.width(7);</p><p> cout<<"游戲的總次數(shù)是:"<<win+lose+tie<<endl;</p><p><b> }</b></p><p> void Game::helpp()</p><p><b>
28、{</b></p><p> cout<<endl;</p><p> cout<<"你可以輸入下列的字符:"<<endl;</p><p> cout<<"c 表示布"<<endl;</p><p> cout&l
29、t;<"h 表示錘子"<<endl;</p><p> cout<<"s 表示剪刀"<<endl;</p><p> cout<<"g 查看游戲結(jié)果"<<endl;</p><p> cout<<"
30、p 打印出這些信息"<<endl;</p><p> cout<<"i 重新打印出游戲指導(dǎo)信息"<<endl;</p><p> cout<<"q 退出游戲"<<endl;</p><p><b> }</b></p
31、><p> int Game::won(enum c_h_s player,enum c_h_s machine)</p><p><b> {</b></p><p> int victory;</p><p> if(player==cloth)</p><p> victory=mac
32、hine==hammer;</p><p> else if(player==hammer)</p><p> victory=machine==scissors;</p><p> else victory=machine==cloth;</p><p> return(victory);</p><p>&
33、lt;b> }</b></p><p> void Game::solution()</p><p><b> {</b></p><p> instruct();</p><p> while((player=select())!=quit)</p><p> sw
34、itch(player)</p><p><b> {</b></p><p> case cloth:</p><p> case hammer:</p><p> case scissors:</p><p> machine=mach();</p><p>
35、 if(player==machine) </p><p><b> {</b></p><p><b> ++tie;</b></p><p> cout<<endl;</p><p> cout<<"平局";</p><p
36、><b> }</b></p><p> else if(won(player,machine))</p><p><b> {</b></p><p><b> ++win;</b></p><p> cout<<endl;</p>
37、<p> cout<<"你獲勝";</p><p><b> }</b></p><p><b> else {</b></p><p><b> ++lose;</b></p><p> cout<<endl;&
38、lt;/p><p> cout<<"我獲勝";</p><p><b> }</b></p><p> case game:</p><p> gamee(win,lose,tie);</p><p><b> break;</b><
39、;/p><p> case instructions:</p><p> instruct();</p><p><b> break;</b></p><p> case help:</p><p><b> helpp();</b></p><p
40、><b> break;</b></p><p><b> }</b></p><p> gamee(win,lose,tie);</p><p> cout<<endl;</p><p> cout<<endl;</p><p>
41、cout<<"BYE!"<<endl;</p><p><b> }</b></p><p> ********************主函數(shù)定義模塊main.cpp**************************</p><p> #include<iostream><
42、/p><p> using namespace std;</p><p> int main()</p><p><b> {</b></p><p><b> Game g;</b></p><p> g.solution();</p><p>
43、; return 0;</p><p><b> }</b></p><p><b> 運行結(jié)果:</b></p><p><b> 1、未輸入任何命令</b></p><p><b> 輸入命令 c</b></p><p&
44、gt;<b> 3、輸入命令s</b></p><p> 4、輸入命令q,結(jié)束游戲。</p><p><b> 設(shè)計過程</b></p><p> 本次設(shè)計主要參考了網(wǎng)上搜索的資料,但搜索的資料并不符合課程設(shè)計要求,所以就要求我們運用我們所學(xué)知識按照課程設(shè)計要求改進(jìn),生成C++面向?qū)ο蟮某绦蛭募?lt;/p>
45、;<p> 首先,我根據(jù)網(wǎng)上的資料,把程序的流程圖畫出來。把程序分成若干的功能塊。每個功能塊能實現(xiàn)不通的功能,各功能塊之間能夠相互的調(diào)用。功能塊之間的合理組合實現(xiàn)了整個游戲的功能。然后再定義各個功能塊的作用,再根據(jù)作用用C++語言實現(xiàn)其功能。并編譯與鏈接各功能塊,各功能塊編譯與鏈接正確后再把它們鏈接成一個工程。</p><p> 本次設(shè)計中構(gòu)造了一個Game類,將實現(xiàn)游戲的一些過程函數(shù)封裝成類的
46、函數(shù),將在游戲里面需要的變量變成C++程序里面的數(shù)據(jù)成員。然后分塊將各個功能實現(xiàn)。</p><p> 本次設(shè)計的評價與收獲</p><p> 三周的課程設(shè)計結(jié)束了,在這次的課程設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設(shè)計過程中,與同學(xué)分工設(shè)計,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會了合作,學(xué)會了運籌帷幄,學(xué)會了寬容,學(xué)會
47、了理解,也學(xué)會了做人與處世。</p><p> 課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓(xùn)練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程.”千里之行始于足下”,通過這次課程設(shè)計,我深深體會到這句千古名言的真正含義.我今天認(rèn)真的進(jìn)行課程設(shè)計,學(xué)會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎(chǔ).</p><p> 提高了計算能力,,熟悉了規(guī)范和標(biāo)準(zhǔn),同時各科相關(guān)
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++剪刀石頭布游戲課程設(shè)計
- c++課程設(shè)計石頭剪刀布
- 數(shù)電課程設(shè)計----剪刀石頭布游戲
- 課程設(shè)計--剪刀石頭布電子游戲
- c++課程設(shè)計--錘子剪刀布
- 單片機(jī)課程設(shè)計--石頭剪刀布
- 大班音樂游戲《剪刀石頭布》 教案
- 剪刀、石頭、布
- c++課程設(shè)計-教學(xué)游戲
- 剪刀游戲課程設(shè)計
- java課程設(shè)計--剪刀石頭布人機(jī)對戰(zhàn)系統(tǒng)的設(shè)計與實現(xiàn)
- c++課程設(shè)計拼圖游戲
- c++課程設(shè)計報告--坦克游戲
- c++課程設(shè)計報告--猜數(shù)游戲
- 猜單詞游戲c++課程設(shè)計報告
- c++課程設(shè)計---吃豆子游戲程序
- 智能算法在剪刀石頭布游戲中的應(yīng)用
- c++猜單詞課程設(shè)計--——猜單詞游戲
- c++高射炮打飛機(jī)游戲課程設(shè)計
- c++課程設(shè)計--五子棋游戲
評論
0/150
提交評論