2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論