c語(yǔ)言課程設(shè)計(jì)報(bào)告---游戲設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  C語(yǔ)言課程設(shè)計(jì)報(bào)告</b></p><p>  設(shè)計(jì)課題: 游戲設(shè)計(jì) </p><p><b>  1猜數(shù)小游戲 </b></p><p><b>  要求 : </b></p><p>  游戲的開(kāi)

2、始有歡迎界面,然后由機(jī)器產(chǎn)生一個(gè)隨機(jī)數(shù)(1~100之間,用庫(kù)函數(shù)rand()),然后游戲者在程序的提示下猜數(shù),若輸入的數(shù)比這個(gè)數(shù)大,程序提示:Your answer is HIGH,try again. ,否則,程序提示:Your answer is LOW,try again.,直到猜對(duì)為止。程序可實(shí)現(xiàn)連續(xù)猜數(shù),直到游戲者退出。</p><p>  程序輸出要求:累計(jì)游戲者猜對(duì)一個(gè)數(shù)所需次數(shù)n,當(dāng)n<=7

3、時(shí),給出“Congratulation”字樣;當(dāng)7<n<15時(shí),給出“I can bet you can do it better.”;當(dāng)n>=15時(shí),給出失敗信息。</p><p>  #include<stdio.h></p><p>  #include<math.h></p><p>  #include<stdlib.h

4、></p><p>  void main()</p><p><b>  {</b></p><p>  printf("歡迎進(jìn)入游戲,請(qǐng)輸入一個(gè)數(shù):\n");</p><p>  int m,n,p,i;</p><p>  m=rand()%100;</p&g

5、t;<p>  scanf("%d",&n);</p><p>  for(i=1; ;i++)</p><p><b>  {if(n>m)</b></p><p>  {printf("your answer is high,try again\n");</p>

6、<p>  scanf("%d",&n);}</p><p>  else if(n<m)</p><p>  {printf("your answer is low,try again\n");</p><p>  scanf("%d",&n);}</p>

7、<p><b>  else</b></p><p><b>  break;}</b></p><p><b>  p=i;</b></p><p><b>  if(p<=7)</b></p><p>  printf("c

8、ongratulation\n");</p><p>  else if(p>=15)</p><p>  printf("錯(cuò)誤");</p><p><b>  else</b></p><p>  printf("I can bet you can do it bette

9、r\n"); </p><p>  printf("輸入次數(shù)%d\n",p);</p><p><b>  }</b></p><p><b>  2. 21點(diǎn)游戲。</b></p><p>  游戲規(guī)則: 可連續(xù)讓程序發(fā)牌。若牌的總點(diǎn)數(shù)超過(guò)程序產(chǎn)生的點(diǎn)數(shù),你就贏了。若

10、你的總點(diǎn)數(shù)超過(guò)21 或者是程序產(chǎn)生的點(diǎn)數(shù)大于你的點(diǎn)數(shù),你就輸了。</p><p>  要求: 歡迎界面后 界面如下:</p><p>  發(fā)牌嗎? Y 發(fā)牌: 4</p><p>  發(fā)牌嗎? Y 發(fā)牌: 3</p><p>  發(fā)牌嗎? Y 發(fā)牌: 10</p><p>  發(fā)牌

11、嗎? Y 發(fā)牌: 4</p><p>  發(fā)牌嗎? N </p><p>  你的點(diǎn)數(shù)為:21。你贏了!</p><p>  #include <stdio.h></p><p>  #include <stdlib.h></p><p>  #include <tim

12、e.h></p><p>  void main()</p><p><b>  {</b></p><p>  int sum,i,b,c;</p><p><b>  char a;</b></p><p>  printf("Welcome to the

13、 21 point game\n");</p><p>  srand((unsigned)time(NULL));</p><p>  sum=rand()%13+1;</p><p>  printf("%d\n",sum);</p><p>  for(i=0;;i++)</p><p&

14、gt;<b>  {</b></p><p>  srand((unsigned)time(NULL));</p><p>  printf("One more card?\n");</p><p>  scanf("%c",&a);</p><p>  if(a==

15、9;Y')</p><p>  b=rand()%13+1;</p><p>  if(a=='N')</p><p><b>  {</b></p><p>  srand((unsigned)time(NULL));</p><p>  c=rand()%20+1;&l

16、t;/p><p>  printf("The other side is %d\n",c);</p><p><b>  break;</b></p><p><b>  }</b></p><p>  sum=sum+b;</p><p>  printf(

17、"%d\n",sum);</p><p>  if(sum>21)</p><p><b>  {</b></p><p>  printf("You loss!\n");</p><p><b>  break;</b></p><

18、p><b>  }</b></p><p><b>  }</b></p><p><b>  if(sum<c)</b></p><p>  printf("You loss!\n");</p><p>  else if(sum==21||s

19、um<21&&sum>c)</p><p>  printf("You win!\n");</p><p><b>  }</b></p><p><b>  3. 計(jì)算器設(shè)計(jì)</b></p><p><b>  界面如下: </b&g

20、t;</p><p>  @@@@@@@@@@@@@@@@@@@@@@@@@@</p><p>  @@@@@@@ 歡迎使用計(jì)算器 @@@@@@@@@@</p><p>  @@@@@@@設(shè)計(jì)者: @@@@@@@@@@</p><p>  @@@@@@@@@@@@@@@@@@@@@@@@@@@</p><p

21、>  (也可以根據(jù)自己的喜好設(shè)計(jì)更美觀的界面。)</p><p>  請(qǐng)選擇功能: ---------</p><p><b>  1————加法</b></p><p><b>  2————減法</b></p><p><b>  3————乘法</b></p&

22、gt;<p><b>  4————除法</b></p><p><b>  5————求余數(shù)</b></p><p>  6————求三角形面積</p><p>  7————求三角形周長(zhǎng)</p><p>  8————求梯形面積</p><p>  9———

23、—求圓形面積</p><p>  10————求sin</p><p>  11————求cos</p><p><b>  12————求tg</b></p><p>  13————求ctg</p><p> ?。梢愿鶕?jù)需要添加更多的功能。)</p><p>  要求

24、 : 在主函數(shù)中 ,輸出歡迎界面,并輸出所有的功能列表之后,讓用戶選擇功能。根據(jù)選擇的功能數(shù) ,調(diào)用不同的函數(shù)。</p><p>  功能1——9要求編寫(xiě)函數(shù)。功能10——13可以直接使用c的庫(kù)函數(shù)。</p><p>  #include <stdio.h></p><p>  #include <math.h></p><

25、;p>  void main()</p><p><b>  {</b></p><p>  int a,g,R,m,n;</p><p>  double x,S1,S2,S3,n1,n2,n3,n4;</p><p>  float b,c,sum,reduce,multiply,divide,s,d,e,f;

26、</p><p>  printf("**********************************\n !Welcome to use this Calculator! \n*********Designed by Mars*********\n**********************************\n");</p><p>  printf(&q

27、uot;Please choose the function you needed\n1.sum\n2.reduce\n3.multiply\n4.divide\n5.remainder\n6.square\n7.girth\n8.trigonometric function\n");</p><p>  scanf("%d",&a);</p><p>

28、;<b>  if(a==1)</b></p><p><b>  {</b></p><p>  printf("Please input your numbers that need to be calculated.\n");</p><p>  scanf("%f,%f",&

29、amp;b,&c);</p><p><b>  sum=b+c;</b></p><p>  printf("sum=%f\n",sum);</p><p><b>  }</b></p><p><b>  if(a==2)</b></p&

30、gt;<p><b>  {</b></p><p>  printf("Please input your numbers that need to be calculated.\n");</p><p>  scanf("%f,%f",&b,&c);</p><p>  

31、reduce=b-c;</p><p>  printf("reduce=%f\n",reduce);</p><p><b>  }</b></p><p><b>  if(a==3)</b></p><p><b>  {</b></p>

32、<p>  printf("Please input your numbers that need to be calculated.\n");</p><p>  scanf("%f,%f",&b,&c);</p><p>  multiply=b*c;</p><p>  printf(&quo

33、t;multiply=%f\n",multiply);</p><p><b>  }</b></p><p><b>  if(a==4)</b></p><p><b>  {</b></p><p>  printf("Please input you

34、r numbers that need to be calculated.\n");</p><p>  scanf("%f,%f",&b,&c);</p><p>  divide=b/c;</p><p>  printf("divide=%f\n",divide);</p><

35、;p><b>  }</b></p><p><b>  if(a==5)</b></p><p><b>  {</b></p><p>  printf("Please input your numbers that need to be calculated.\n");

36、</p><p>  scanf("%d,%d",&m,&n);</p><p><b>  R=m%n;</b></p><p>  printf("remainder=%d\n",R);</p><p><b>  }</b></p&

37、gt;<p><b>  if(a==6)</b></p><p><b>  {</b></p><p>  printf("Please choose your geometric figure you wanted.\n");</p><p>  printf("1.tri

38、angle\n2.trapezium\n3.circle\n");</p><p>  scanf("%d",&g);</p><p><b>  if(g==1)</b></p><p><b>  {</b></p><p>  printf("P

39、lease input the length of the three rim of this triangle\n");</p><p>  scanf("%f,%f,%f",&d,&e,&f);</p><p>  S1=sqrt((1/2)(d+e+f)(d+e-f)(d+f-e)(f+e-d));</p><

40、p>  printf("Square=%f\n",S1);</p><p><b>  }</b></p><p><b>  if(g==2)</b></p><p><b>  {</b></p><p>  printf("Please

41、 input the length of the top rim,the bottom rim and the tall of this trapezium in proper order.\n");</p><p>  scanf("%f,%f,%f",&d,&e,&f);</p><p>  S2=(d+e)*f/2;</p&

42、gt;<p>  printf("Square=%f\n",S2);</p><p><b>  }</b></p><p><b>  if(g=3)</b></p><p><b>  {</b></p><p>  printf(&quo

43、t;Please input the radius of this circle.\n");</p><p>  scanf("%f",&b);</p><p>  S3=3.14*b*b;</p><p>  printf("Square=%f\n",S3);</p><p><

44、;b>  }</b></p><p><b>  }</b></p><p><b>  if(a==7)</b></p><p><b>  {</b></p><p>  printf("Please input the length of th

45、e three rim of this triangle\n");</p><p>  scanf("%f,%f,%f",&b,&e,&f);</p><p><b>  s=b+e+f;</b></p><p>  printf("Girth=%f\n",s);<

46、/p><p><b>  }</b></p><p><b>  if(a==8)</b></p><p><b>  {</b></p><p>  printf("Please choose the function you need.\n");</p

47、><p>  printf("1.sin\n2.cos\n3.tan\n4.cot\n");</p><p>  scanf("%d",&g);</p><p><b>  if(g==1)</b></p><p><b>  {</b></p>

48、;<p>  printf("Please input your number.\n");</p><p>  scanf("%f",&b);</p><p>  n1=sin(b);</p><p>  printf("sin(%f)=%f\n",b,n1);</p>

49、<p><b>  }</b></p><p><b>  if(g==2)</b></p><p><b>  {</b></p><p>  printf("Please input your number.\n");</p><p>  sc

50、anf("%f",&b);</p><p>  n2=cos(b);</p><p>  printf("cos(%f)=%f\n",b,n2);</p><p><b>  }</b></p><p><b>  if(g==3)</b></p

51、><p><b>  {</b></p><p>  printf("Please input your number.\n");</p><p>  scanf("%f",&b);</p><p>  n3=tan(b);</p><p>  prin

52、tf("tg(%f)=%f\n",b,n3);</p><p><b>  }</b></p><p><b>  if(g==4)</b></p><p><b>  {</b></p><p>  printf("Please input yo

53、ur number.\n");</p><p>  scanf("%f",&b);</p><p>  n4=1/tan(b);</p><p>  printf("cot(%f)=%f\n",b,n4);</p><p><b>  }</b></p>

54、;<p><b>  }</b></p><p>  printf("My responsibility is done.\nWelcome for next time,but you need restart this program.\nI've died.\nI only have one time to live,and you too.\nSo,va

55、lue it.No complain and No regret!\n");</p><p><b>  }</b></p><p>  4.學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)</p><p>  程序說(shuō)明:有N個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包含學(xué)號(hào)(不重復(fù))、姓名、三門(mén)課的成績(jī)及平均成績(jī),試設(shè)計(jì)一學(xué)生成績(jī)管理系統(tǒng),使之能提供以下功能:</p>

56、<p><b> ?。?)主菜單</b></p><p><b>  界面如下: </b></p><p>  @@@@@@@@@@@@@@@@@@@@@@@@@@</p><p>  @@@@@@@ 歡迎使用學(xué)生成績(jī)管理系統(tǒng) @@@@@</p><p>  @@@@@@@設(shè)計(jì)者:

57、 @@@@@@</p><p>  @@@@@@@@@@@@@@@@@@@@@@@@@@</p><p>  請(qǐng)選擇功能: ----</p><p><b>  成績(jī)錄入</b></p><p><b>  成績(jī)查詢</b></p><p><

58、;b>  成績(jī)統(tǒng)計(jì) </b></p><p>  2)各菜單項(xiàng)要求完成的功能</p><p>  成績(jī)錄入:輸入學(xué)生的學(xué)號(hào)、姓名及三門(mén)課的成績(jī);并輸出所有學(xué)生所有信息。</p><p><b>  成績(jī)查詢:</b></p><p>  按學(xué)號(hào)查詢學(xué)生記錄。</p><p>  

59、按學(xué)生姓名查詢學(xué)生記錄。</p><p>  查詢不及格學(xué)生的記錄。</p><p>  查詢及格學(xué)生的記錄。</p><p>  查詢最高分學(xué)生的記錄。</p><p><b>  ③成績(jī)統(tǒng)計(jì):</b></p><p>  計(jì)算每個(gè)學(xué)生的平均分,并輸出。</p><p>

60、  計(jì)算各科的總分及平均分,并輸出。</p><p>  輸出各科狀元的記錄。</p><p> ?。?)定義的結(jié)構(gòu)體數(shù)組可以定義如下:</p><p> ?。efine N 30</p><p>  struct student </p><p>  {int num; /* 定義學(xué)號(hào)*/<

61、;/p><p>  char name[20]; /* 定義姓名*/</p><p>  float score[3]; /* 定義存貯三門(mén)課成績(jī)的數(shù)組*/</p><p>  float average; /* 定義平均成績(jī)*/</p><p>  }stu[N];  /* 定義結(jié)構(gòu)體數(shù)組,存貯多個(gè)學(xué)生的記錄*/</p&

62、gt;<p>  注: 由于結(jié)構(gòu)體作參數(shù)同學(xué)們沒(méi)有學(xué)過(guò),可以把所有的功能寫(xiě)在一個(gè)主函數(shù)中。也可以自學(xué)教材,采用函數(shù)調(diào)用的方式完成。</p><p>  #include "stdio.h"</p><p>  #include "string.h"</p><p>  #define N 100</p>

63、;<p>  void main()</p><p><b>  {</b></p><p>  struct student </p><p><b>  {</b></p><p>  int num; /* 定義學(xué)號(hào)*/</p><p>

64、;  char name[20]; /* 定義姓名*/</p><p>  float score[3]; /* 定義存貯三門(mén)課成績(jī)的數(shù)組*/</p><p>  float average; /* 定義平均成績(jī)*/</p><p><b>  } stu[N];</b></p><p>  int a

65、,b,d,c,i,j;</p><p>  char e[20];</p><p>  for(i=0;i<N;i++)</p><p>  stu[i].num=0;//給所有學(xué)號(hào)賦初值為0</p><p>  printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"

66、;);</p><p>  printf("@@@@@@@@歡迎使用學(xué)生成績(jī)管理系統(tǒng)@@@@@@@@@@\n");</p><p>  printf("@@@@@@@@@@@@@設(shè)計(jì)者:趙敏 @@@@@@@@@@@@@@@@\n");</p><p>  printf("@@@@@@@@@@@@@@@@@@@@@@@

67、@@@@@@@@@@@@@@@@@@@\n");</p><p><b>  for(;;)</b></p><p><b>  {</b></p><p>  printf("請(qǐng)選擇功能: ----\n1、成績(jī)錄入\n2、成績(jī)查詢\n3、成績(jī)統(tǒng)計(jì)\n");</p><p

68、>  scanf("%d",&a);</p><p>  if(a==1)//成績(jī)錄入</p><p><b>  {</b></p><p>  printf("請(qǐng)輸入學(xué)生學(xué)號(hào):");</p><p>  scanf("%d",&b);&

69、lt;/p><p>  for(i=0;i<N;i++)//尋找是否有對(duì)應(yīng)學(xué)號(hào)已有的學(xué)生</p><p><b>  {</b></p><p>  if(b==stu[i].num)</p><p><b>  {</b></p><p><b>  brea

70、k;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(i!=100)</p><p><b>  {</b></p><p>  printf("請(qǐng)輸入學(xué)生姓名:&

71、quot;);</p><p>  scanf("%s",&stu[i].name);</p><p>  printf("請(qǐng)輸入學(xué)生三科成績(jī):\n");</p><p>  scanf("%f%f%f",&stu[i].score[0],&stu[i].score[1],&

72、stu[i].score[2]);</p><p>  stu[i].average=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;</p><p>  printf("學(xué)生姓名%s成績(jī)%g,%g,%g平均成績(jī)%g\n\n",stu[i].name,stu[i].score[0],stu[i].score[1],

73、stu[i].score[2],stu[i].average);</p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  for (i=0;i<N;i++)</p>

74、<p><b>  {</b></p><p>  if(stu[i].num==0)</p><p><b>  break;</b></p><p><b>  }</b></p><p>  if(i!=100)</p><p><

75、b>  {</b></p><p>  printf("這是一個(gè)新的學(xué)生數(shù)據(jù)\n");</p><p>  printf("請(qǐng)輸入學(xué)生姓名:");</p><p>  scanf("%s",&stu[i].name);</p><p>  printf(&q

76、uot;請(qǐng)輸入學(xué)生三科成績(jī):\n");</p><p>  scanf("%f%f%f",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);</p><p>  stu[i].average=(stu[i].score[0]+stu[i].score[1]+stu[i].score[

77、2])/3;</p><p>  printf("學(xué)生姓名%s成績(jī)%g,%g,%g平均成績(jī)%g\n\n",stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].average);</p><p><b>  }</b></p><p>  els

78、e printf("數(shù)據(jù)已滿");</p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(a==2)//選擇查詢</p><p><b>  {</b></p><p> 

79、 printf("請(qǐng)選擇查詢模式——————\n1、查詢學(xué)號(hào)\n2、查詢姓名\n3、查詢不及格學(xué)生\n4、查詢幾個(gè)學(xué)生\n5、查詢最高分學(xué)生\n");</p><p>  scanf("%d",&c);</p><p>  if(c==1)//1、查詢學(xué)號(hào)</p><p><b>  {</b>&

80、lt;/p><p>  printf("請(qǐng)輸入學(xué)號(hào):");</p><p>  scanf("%d",&d);</p><p>  for(i=0;i<N;i++)//尋找對(duì)應(yīng)的學(xué)號(hào)學(xué)生</p><p>  {if(d==stu[i].num)</p><p><

81、;b>  break;</b></p><p><b>  }</b></p><p>  printf("學(xué)生姓名%s成績(jī)%g,%g,%g平均成績(jī)%g\n\n",stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].average);</p&g

82、t;<p><b>  }</b></p><p>  else if(c==2)</p><p><b>  {</b></p><p>  printf("請(qǐng)輸入姓名:");</p><p>  scanf("%s",e);</p>

83、;<p>  for(i=0;i<N;i++)</p><p>  {if(strcmp(e,stu[i].name)==0)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論