版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》</p><p><b> 課程設(shè)計(jì) </b></p><p> 系 部 : </p><p> 專 業(yè) : </p><p> 班 級 : </p><p> 學(xué) 號 : </p><
2、;p><b> 姓 名 : </b></p><p><b> 指導(dǎo)老師 : </b></p><p> 設(shè)計(jì)日期 : </p><p><b> 目 錄</b></p><p>
3、 一、設(shè)計(jì)課題……………………………………………………2</p><p> 二、設(shè)計(jì)要求……………………………………………………2</p><p> 三、設(shè)計(jì)過程……………………………………………………2</p><p> 四、程序流程圖…………………………………………………3</p><p> 五、程序源代碼………………………………
4、…………………4</p><p> 六、運(yùn)行結(jié)果……………………………………………………13</p><p> 七、本次設(shè)計(jì)的評價(jià)與收獲……………………………………16</p><p> 八、參考文獻(xiàn)……………………………………………………16</p><p><b> 一、設(shè)計(jì)課題</b></p>
5、<p><b> 錘子剪刀布</b></p><p><b> 二、設(shè)計(jì)要求</b></p><p> 1、開發(fā)平臺:VC++6.0</p><p> 2、對設(shè)計(jì)內(nèi)容的要求</p><p> 源文件要采用多文件的工程結(jié)構(gòu),在源程序中必須使用類,輸入輸出要符合C++語言的特性;&
6、lt;/p><p> 功能必須完善,程序代碼要有相應(yīng)的注釋。</p><p> 3,對設(shè)計(jì)說明書的要求</p><p> 設(shè)計(jì)過程、流程圖及源代碼。</p><p> 對本次設(shè)計(jì)的評價(jià)、此次設(shè)計(jì)的收獲與建議。</p><p><b> 4、說明書為打印件</b></p><
7、;p><b> 三、設(shè)計(jì)過程</b></p><p> 本次試驗(yàn)主要參考了老師所給的資料,把流程圖畫出來,把程序分成若干個(gè)功能塊,沒個(gè)功能塊能實(shí)現(xiàn)不同的功能,各功能之間能夠相互調(diào)用,功能塊之間的合理組合實(shí)現(xiàn)了整個(gè)游戲的功能。然后再定義各個(gè)功能塊的作用,再根據(jù)作用用C++語言實(shí)現(xiàn)其功能,并編譯與鏈接各功能塊,各功能塊編譯與鏈接正確后再把他們鏈接成一個(gè)工程。</p>&l
8、t;p> 本次試驗(yàn)中構(gòu)造了一個(gè)Game類,將實(shí)現(xiàn)游戲的一些過程函數(shù)封裝成類的函數(shù),將在游戲中需要的變量變成C++里面的數(shù)據(jù)成員,然后分塊將各個(gè)功能實(shí)現(xiàn)。</p><p><b> 四、程序流程圖</b></p><p><b> 五、程序源代碼:</b></p><p> ************類模塊hea
9、d.h*************</p><p> #include<iostream></p><p> using namespace std;</p><p> enum c_h_s{cloth,hammer,scissors,game,helpp,instruction,quit};</p><p> class
10、Game</p><p><b> {</b></p><p><b> public:</b></p><p><b> Game();</b></p><p> enum c_h_s select();</p><p> enum c_h_
11、s mach();</p><p> void instructions();</p><p> int won(enum c_h_s,enum c_h_s);</p><p> void gamee(int,int,int);</p><p> void help();</p><p> void solu
12、tion();</p><p><b> private:</b></p><p><b> int win;</b></p><p><b> int lose;</b></p><p><b> int tie;</b></p>
13、<p> enum c_h_s player;</p><p> enum c_h_s machine;</p><p><b> };</b></p><p> **********成員函數(shù)定義模塊define.cpp***********</p><p> #include<iostream
14、></p><p> #include<stdio.h></p><p> #include"head.h"</p><p> using namespace std;</p><p> Game ::Game()</p><p><b> {</b>
15、;</p><p><b> win=0;</b></p><p><b> lose=0;</b></p><p><b> tie=0;</b></p><p><b> }</b></p><p> void Gam
16、e::instructions()</p><p><b> {</b></p><p> cout<<endl;</p><p> cout<<" "<<"****剪刀 錘子 布****"<<endl;</p>&l
17、t;p> cout<<"在這個(gè)游戲中"<<endl;</p><p> cout<<"c 表示布"<<endl;</p><p> cout<<"h 表示錘子"<<endl;</p><p> cout<<&q
18、uot;s表示剪刀"<<endl;</p><p> cout<<"游戲者和記起都只能選擇c,h,s中的一個(gè),如果二者的選擇相同"<<endl;</p><p> cout<<"那么這一局就是平局。此外:"<<endl;</p><p> cout&l
19、t;<"\"布包錘子\"(布獲勝)。"<<endl;</p><p> cout<<"\"錘子打爛剪刀\"(錘子獲勝)。"<<endl;</p><p> cout<<"\"剪刀剪布\"(剪刀獲勝)。"<&l
20、t;endl;</p><p> cout<<endl;</p><p> cout<<"還有其它的選擇是:"<<endl;</p><p> cout<<"g表示游戲的結(jié)果(至今獲勝次數(shù))"<<endl;</p><p> cout&
21、lt;<"p可獲得幫助"<<endl;</p><p> cout<<"i可獲得游戲方法的指導(dǎo)信息"<<endl;</p><p> cout<<"q表示退出游戲。"<<endl;</p><p> cout<<"
22、這個(gè)游戲一直重復(fù)到游戲者選擇q為止。"<<endl;</p><p> cout<<"祝你好運(yùn)!"<<endl; //游戲結(jié)束</p><p><b> }</b></p><p> enum c_h_s Game::select()</p><p&
23、gt;<b> {</b></p><p><b> char c;</b></p><p> enum c_h_s p;</p><p> cout<<endl;</p><p> cout<<" 請選擇c,h,或s:";//提示用戶輸入字符&
24、lt;/p><p> while((c=getchar())==' '||c=='\n'||c=='\t');</p><p> switch(c) </p><p><b> {</b></p><p><b> case 'c':</
25、b></p><p><b> p=cloth;</b></p><p><b> break;</b></p><p><b> case 'h':</b></p><p><b> p=hammer;</b></p&
26、gt;<p><b> break;</b></p><p><b> case 's':</b></p><p> p=scissors;</p><p><b> break;</b></p><p><b> case &
27、#39;g':</b></p><p><b> p=game;</b></p><p><b> break;</b></p><p><b> case 'i':</b></p><p> p=instruction;</p
28、><p><b> break;</b></p><p><b> case 'q':</b></p><p><b> p=quit;</b></p><p><b> break;</b></p><p>
29、 case 'p': </p><p><b> p=helpp;</b></p><p><b> break;</b></p><p><b> }</b></p><p> return(p);</p><p><
30、b> }</b></p><p> enum c_h_s Game::mach()</p><p><b> {</b></p><p> static int i;</p><p><b> i=++i%3;</b></p><p> retu
31、rn((i==0)?cloth:((i==1)?hammer:scissors));</p><p><b> }</b></p><p> void Game::gamee(int win,int lose,int tie)</p><p><b> {</b></p><p> cout
32、<<endl;</p><p> cout<<" 游戲結(jié)果如下:";</p><p> cout<<endl;</p><p> cout.width(7);</p><p> cout<<" 你獲勝的次數(shù)是:"<<
33、;win<<endl;</p><p> cout.width(7);</p><p> cout<<" 我獲勝的次數(shù)是:"<<lose<<endl;</p><p> cout.width(7);</p><p> cout<<"
34、 游戲的總次數(shù)是:"<<win+lose+tie<<endl;</p><p><b> }</b></p><p> void Game::help()</p><p><b> {</b></p><p> cout<<endl;&
35、lt;/p><p> cout<<" 你可以輸入下列的字符:"<<endl;</p><p> cout<<" c 表示布"<<endl;</p><p> cout<<" h 表示錘子"<<endl;&
36、lt;/p><p> cout<<" s 表示剪刀"<<endl;</p><p> cout<<" g 查看游戲結(jié)果"<<endl;</p><p> cout<<" p 打印出這些信息"<<endl;
37、</p><p> cout<<" i 重新打印出游戲指導(dǎo)信息"<<endl;</p><p> cout<<" q 退出游戲"<<endl;</p><p><b> }</b></p><p> int
38、 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=machine==hammer;</p&
39、gt;<p> else if(player==hammer)</p><p> victory=machine==scissors;</p><p> else victory=machine==cloth;</p><p> return(victory);</p><p><b> }</b>
40、;</p><p> void Game::solution()</p><p><b> { </b></p><p> instructions();</p><p> while((player=select())!=quit)</p><p> switch(player)&l
41、t;/p><p><b> {</b></p><p> case cloth: </p><p> case hammer:</p><p> case scissors:</p><p> machine=mach();</p><p> if(player==
42、machine)</p><p> { ++tie;</p><p> cout<<endl;</p><p> cout<<"平局";</p><p><b> }</b></p><p> else if(won(player,mac
43、hine))</p><p><b> {</b></p><p><b> ++win;</b></p><p> cout<<endl;</p><p> cout<<"你獲勝";</p><p><b>
44、}</b></p><p><b> else</b></p><p><b> {</b></p><p><b> ++lose;</b></p><p> cout<<endl;</p><p> cout<
45、<"電腦獲勝";</p><p><b> }</b></p><p> case game:</p><p> gamee(win,lose,tie);</p><p><b> break;</b></p><p> case inst
46、ruction:</p><p> instructions();</p><p><b> break;</b></p><p> case helpp:</p><p><b> help();</b></p><p><b> break;</
47、b></p><p><b> }</b></p><p> gamee(win,lose,tie);</p><p> cout<<endl;</p><p> cout<<endl;</p><p> cout<<"BYE!&quo
48、t;<<endl;</p><p><b> }</b></p><p> ********* 主函數(shù)定義模塊main.cpp*******</p><p> #include<iostream></p><p> #include"head.h"</p>
49、<p> using namespace std;</p><p> int main()</p><p><b> {</b></p><p><b> Game g;</b></p><p> g.solution();</p><p><b&
50、gt; return 0;</b></p><p><b> }</b></p><p><b> 六 、運(yùn)行結(jié)果</b></p><p><b> 1、未輸入任何命令</b></p><p><b> 2、輸入命令c</b><
51、/p><p><b> 3、輸入命令h</b></p><p><b> 4、輸入命令p</b></p><p><b> 5、輸入命令i</b></p><p><b> 6、輸入命令q</b></p><p> 七、本次設(shè)
52、計(jì)的評價(jià)與收獲</p><p> 本次課程設(shè)計(jì)按照設(shè)計(jì)要求源文件運(yùn)用了多文件工程結(jié)構(gòu),關(guān)鍵在于類的使用,這也是C++的最大特點(diǎn)。</p><p> 本次設(shè)計(jì)結(jié)束后,真正認(rèn)識到了C語言和C++面向?qū)ο缶幊讨g的區(qū)別與聯(lián)系,進(jìn)一步掌握了C++面向?qū)ο筮@一特點(diǎn)。本次設(shè)計(jì),是將課堂所學(xué)的運(yùn)用到實(shí)際工程中的具體體現(xiàn),對于我以后學(xué)習(xí)C++的更多知識有很大的幫助。</p><p&
53、gt; 在寫程序的過程中難免會(huì)出現(xiàn)錯(cuò)誤,都是因?yàn)樽约簩?xì)節(jié)的把握不準(zhǔn),掉分號或者語法格式不對等諸多問題,這也就告訴我們在程序設(shè)計(jì)方面我們一定要十分的嚴(yán)謹(jǐn)和細(xì)致。</p><p><b> 八、參考文獻(xiàn)</b></p><p> 1、譚浩強(qiáng)著C++面向?qū)ο蟪绦蛟O(shè)計(jì)。清華大學(xué)出版社</p><p> 2、譚浩強(qiáng)著C++面向?qū)ο蟪绦蛟O(shè)計(jì)題解與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)石頭剪刀布
- c++剪刀石頭布游戲課程設(shè)計(jì)
- c++剪刀石頭布游戲課程設(shè)計(jì)
- 數(shù)電課程設(shè)計(jì)----剪刀石頭布游戲
- 課程設(shè)計(jì)--剪刀石頭布電子游戲
- 單片機(jī)課程設(shè)計(jì)--石頭剪刀布
- c++課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)ppt
- c++課程設(shè)計(jì)--c++程序設(shè)計(jì)語言
- c++課程設(shè)計(jì)-- c++面向?qū)ο蟪绦蛟O(shè)計(jì)
- 串口通信c++課程設(shè)計(jì)
- c++掃雷課程設(shè)計(jì)報(bào)告
- 中南大學(xué)c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)-教學(xué)游戲
- c++課程設(shè)計(jì)——乘積最大
- c++課程設(shè)計(jì)——矩陣類
- c++課程設(shè)計(jì)---商場管理
- c++課程設(shè)計(jì)(文章編輯)
- c++面向?qū)ο笳n程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)--模擬電信計(jì)費(fèi)
評論
0/150
提交評論