狠狠干影院/欧美午夜电影在线观看/高黄文/国产精品一区二区在线观看完整版

C語(yǔ)言猜數(shù)游戲?qū)嶒?yàn)報(bào)告

| 瀏覽次數(shù):

 一、

 課程設(shè)計(jì)的目的 ...........................................2

 二、

 設(shè)計(jì)的內(nèi)容與要求 .........................................2

 三、

 總體設(shè)計(jì) .................................................2

 四、

 詳細(xì)設(shè)計(jì) .................................................3

 五、

 調(diào)試與測(cè)試 ....................... ........................9

 六、

 課程設(shè)計(jì)的總結(jié) ...........................................12

 七、

 附錄 .....................................................13 3

  在本次的課程設(shè)計(jì)中,由我和肖玉閆合作完成,我主要負(fù)責(zé)編寫(xiě)程序。

 對(duì)于流程圖我主要負(fù)責(zé):產(chǎn)生隨機(jī)數(shù)函數(shù),成績(jī)判斷函數(shù),用戶輸入函數(shù),排序函數(shù),比較函數(shù)。

  一、

 課程設(shè)計(jì)的目的

 1. 鞏固和加深學(xué)生對(duì) C 語(yǔ)言課程的基本知識(shí)的理解和掌握 2. 掌握 C 語(yǔ)言編程和程序調(diào)試的基本技能 3. 利用 C 語(yǔ)言進(jìn)行基礎(chǔ)的軟件設(shè)計(jì) 4. 提高運(yùn)用 C 語(yǔ)言解決實(shí)際問(wèn)題的能力

  二、

 設(shè)計(jì)的內(nèi)容與要求

 1. 隨機(jī)產(chǎn)生一個(gè)五位數(shù),且沒(méi)有重復(fù)數(shù)字 2. 猜數(shù)是給出大小提示 3. 記錄猜數(shù)的次數(shù),最后給出評(píng)分

  三.總體設(shè)計(jì)

 (1)整個(gè)猜數(shù)游戲分為 3 個(gè)模塊:

 1.開(kāi)始游戲; 2.幫助界面,介如何進(jìn)行游戲; 3.退出游戲。

 (2)算法描述:

 1.主函數(shù) main():清屏之后運(yùn)行 fun 函數(shù); 2.隨機(jī)數(shù)函數(shù) rn():產(chǎn)生一個(gè)沒(méi)有重復(fù)數(shù)字的五位隨機(jī)數(shù); 3.排序函數(shù) choise():對(duì)數(shù)組進(jìn)行排序; 4.用戶輸入函數(shù) input():用戶可以輸入一個(gè)五位數(shù); 5.比較函數(shù) compare():對(duì)用戶輸入的五位數(shù)與系統(tǒng)產(chǎn)生的五位數(shù)進(jìn)行比較; 6.成績(jī)函數(shù) grade():根據(jù)用戶輸入的次數(shù)進(jìn)行打分; 7.歡迎界面函數(shù) welcome():打印出一個(gè)歡迎界面; 8.選擇執(zhí)行函數(shù) fun():根據(jù)用戶的選擇來(lái)執(zhí)行對(duì)應(yīng)的功能;

 四.詳細(xì)設(shè)計(jì)

 數(shù)據(jù)的組織描述,系統(tǒng)控制流程圖,程序的代碼的對(duì)應(yīng)解釋。

 main()函數(shù) 清屏 打印歡迎界面 getch() fun() 結(jié)束

  rn 函數(shù) int b,d;long int c; unsigned long int a;int array[5] a 接收產(chǎn)生的隨機(jī)數(shù);c=a 將 c 的各個(gè)位上的數(shù)字放入數(shù)組 array[5]中 用 choise 函數(shù)對(duì) array 進(jìn)行排序 判斷 array 數(shù)組的各個(gè)數(shù)是否相同 是 return a 否 結(jié)束

  choise 函數(shù)(int *num,int n) int j,k; i=1 k=num[i];j=i-1j>0&&num[i]>k? 是 num[j+1]=num[j]; j--; num[j+1]=k 否 結(jié)束

 input 函數(shù)(long int a) int c=0;long int b 輸出打印相應(yīng)提示 輸出打印次數(shù):c+1; 用戶輸入五位數(shù),用 b 接收; c++; b=0? compare(a,b)=1? 否 是 是 retun c 結(jié)束 否 c>67? 給出失敗提示; gc(); 是 fun 函數(shù)

 compare 函數(shù)(long int a,long int b) int c a<b? a>b? a=b? 給 出 大于提示; c=0 給 出 小于提示; c=0 給 出 等于提示; c=1 return c 結(jié)束 是 是 是 否 否 否

 grade 函數(shù)(int num) int grade=o num<4? num<8? num<68? grade=100-10*(num-1) grade=80-5*(num-4) grade=60-(num-7) 根據(jù)用戶輸入次數(shù)給出提示 是 結(jié)束 否 是 否 是

  五,調(diào)試與測(cè)試

 調(diào)試 1. 在編程當(dāng)中,由于要書(shū)寫(xiě)大量的程序,所以經(jīng)常出現(xiàn)一些小錯(cuò)誤; 2. 對(duì)變量的定義有時(shí)會(huì)出現(xiàn)錯(cuò)誤,比如將 long int 型寫(xiě)成 int 型; 3. 最重要的是函數(shù)的應(yīng)用,函數(shù)應(yīng)該應(yīng)用得當(dāng),否則會(huì)出現(xiàn)很大的錯(cuò)誤。

 測(cè)試

 開(kāi)始界面:

  菜單:

  六. 課程設(shè)計(jì)的總結(jié)

 通過(guò)這個(gè)課程設(shè)計(jì),我們更加牢固的掌握了書(shū)本上的知識(shí),并對(duì)于以前并不熟悉的知識(shí)有了更加深刻的了解。在完成此次課程設(shè)計(jì)的過(guò)程中,雖然花費(fèi)了大量的精力,但帶給我更多的收獲。C 語(yǔ)言是一門(mén)實(shí)踐課,可以說(shuō)只有自己親手操作,才能感受到他的魅力。

 此次編程設(shè)計(jì)中,涉及到許多書(shū)上沒(méi)有的知識(shí),而我通過(guò)此次設(shè)計(jì)掌握了這些知識(shí)。輸入與調(diào)試程序是相當(dāng)枯燥的,但構(gòu)思和完善程序的過(guò)程是相當(dāng)有趣的,無(wú)論怎么樣,當(dāng)你親手完成了一個(gè)程序時(shí),還是相當(dāng)有成就感的。

 此次任務(wù)的完成,也體現(xiàn)了同學(xué)之間的團(tuán)結(jié)精神,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),沒(méi)有實(shí)踐,就不會(huì)發(fā)現(xiàn)和深刻體會(huì)他的真實(shí)存在。只有通過(guò)檢驗(yàn)的真理,在自己的心里,才會(huì)認(rèn)可他的真實(shí)性。理論與實(shí)際的相結(jié)合才能真正把握所學(xué)和所掌握的知識(shí)。同時(shí)培養(yǎng)了我們的團(tuán)隊(duì)精神,使我們懂得了團(tuán)隊(duì)的重要性。在今后的學(xué)習(xí)工作中我們將會(huì)更好的發(fā)揮團(tuán)隊(duì)精神。

 總的來(lái)說(shuō),C 語(yǔ)言是一門(mén)非常有趣的學(xué)科,可以通過(guò)人為的設(shè)計(jì)而讓電腦來(lái)輔助性的做一些機(jī)械的東西。在今后的學(xué)習(xí)過(guò)程中,我也將更加的認(rèn)真學(xué)習(xí) C 語(yǔ)言,希望能在今后完成設(shè)計(jì)出一個(gè)屬于自己的有意思的程序。

 參考書(shū)目

 ] [1] 《標(biāo)準(zhǔn) C C 》 語(yǔ)言基礎(chǔ)教程英文版》< < 第四版 >[M], ,( ( 美) ) 布朗森著出版 社:電子工業(yè)出版社

 2006年

  附錄:

  程序清單 #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> int i; long int rn(); void fun(); void gc(); int input(long int); void grade(int); int welcome(); int compare(long int,long int); void choise(int *,int);

 void main() {

 system("cls");

 printf("\n\n\n\t\t* * * * * * * * welcome * * * * * * * *");

 printf("\n\n\n");

 printf("\t\t\tmaker: xiachao

  xiaoyuyan");

 printf("\n\n\n\t\t\tuse enter to be continue");

 getch();

 fun(); }

 void fun() {

 int b,s,g;

 long int a;

 system("cls");

  s=welcome();

 if(s==1)

 {

  system("cls");

  a=rn();

  b=input(a);

  grade(b);

  gc();

 }

 if(s==2)

 {

  system("cls");

  printf("\n\n\n\n\n");

  printf("\t ---------------------------------------------------------\n");

  printf("\t|game rules:

 |\n");

  printf("\t|

  |\n");

  printf("\t|input your number(10000--99999),it will compare to the

  |\n");

  printf("\t|

  |\n");

  printf("\t|system"s number(10000--99999),and the number doesn"t have|\n");

  printf("\t|

  |\n");

  printf("\t|same digit.

 |\n");

  printf("\t|

  |\n");

  printf("\t|if your number as same as system,your win,else try again.|\n");

  printf("\t|

  |\n");

  printf("\t ---------------------------------------------------------");

  gc();

 }

 if(s==3)

 {

  printf("\n\n\t\t\tThanks for your using.\n");

  printf("\t\t\t\tBye Bye!");

  getch();

  exit(0);

 } }

 long int rn() {

 int b,d;

 long int c;

 unsigned long int a;

 int array[5];

 time_t t;

 time(&t);

  srand(t);

 loop1:a=10000+rand() % 90000;

 c=a;

 for(i=0;i<5;i++)

 {

  array[i]=c%10;

  c=c/10;

 }

 choise(array,5);

 b=array[0];

 for(i=1;i<5;i++)

 {

  if(b==array[i])

 goto loop1;

  else

 b=array[i];

 }

 return a; }

 void choise(int *num,int n) {

 int j,k;

 for(i=1;i<n;i++)

 {

  k=num[i];

  j=i-1;

  while((j>=0)&&(num[j]>k))

  {

 num[j+1]=num[j];

 j--;

  }

  num[j+1]=k;

 } }

 int compare(long int a,long int b) {

 int c;

 if(a>b)

 {

  printf("\t\t\tneed greater!");

  printf("( >%ld )\n",b);

  c=0;

  }

 if(a<b)

 {

  printf("\t\t\tneed less!");

  printf("( <%ld )\n",b);

  c=0;

 }

 if(a==b)

 {

  printf("\t\t\tIt"s true!\n");

  c=1;

 }

 return c; }

 int input(long int a) {

 int c=0;

 long int b;

 printf("\n\n\n\n\n");

 printf("\t\t\tplease input your number:\n");

 printf("\t\t\tinput 0 back to main menu.");

 loop2:printf("\n\t\t\ttimes %d:",c+1);

 scanf("%ld",&b);

 c++;

 if(c>67)

 {

  printf("\t\tyou are lose!");

  gc();

 }

 if(b==0)

  fun();

 else

  if(compare(a,b)!=1) goto loop2;

 return c; }

 void grade(int num) {

 int grade=0;

 printf("\t\t\tyou use %d times\n",num);

 if(num<4)

  grade=100-10*(num-1);

 else if(num<8)

 grade=80-5*(num-3);

 else if(num<68)

  grade=60-(num-7);

 printf("\t\t\tyour grade is %d",grade);

 switch(num)

 {

  case 1:printf("\tyou are so lucky!!!");

  break;

  case 2:case 3:case 4:printf("\tlucky!");

  break;

  case 5:case 6:case 7:case 8:case 9:printf("\tgreat!");

  break;

  case 10:case 11:case 12:case 13:case 14:case 15:case 16:

  printf("\tgood!");

  break;

  case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:

  printf("\tjust so so.");

  break;

  default:

  printf("\tmaybe you can better.");

 } }

 int welcome() {

 int s;

 printf("\n\n\n\n");

 printf("\t\t********************************************\n");

 printf("\t\t*

 *\n");

 printf("\t\t*

 welcome paly the game!

 *\n");

 printf("\t\t*

 *\n");

 printf("\t\t* input 1: start the game

 *\n");

 printf("\t\t* input 2: help information

 *\n");

 printf("\t\t* input 3: quit the game

  *\n");

 printf("\t\t********************************************\n");

 printf("\t\tplease select: ");

 scanf("%d",&s);

 return s; } void gc() {

 int a;

 printf("\n\n\t\tinput 1: quit the game;\tinput 2: back to menu.\n");

 printf("\n\t\tplease select : ");

  scanf("%d",&a);

 if(a==1)

  exit(0);

 if(a==2)

 {

  system("cls");

  fun();

 }

 if(a!=1&&a!=2)

 {

  printf("\t\tinput error!check your input!\n\n");

  gc();

 } }

推薦訪問(wèn): 語(yǔ)言 實(shí)驗(yàn) 報(bào)告

【C語(yǔ)言猜數(shù)游戲?qū)嶒?yàn)報(bào)告】相關(guān)推薦

工作總結(jié)最新推薦

NEW
  • 同志們:今天這個(gè)大會(huì),是市委全面落實(shí)黨要管黨、從嚴(yán)治黨要求的一項(xiàng)重大舉措,也是對(duì)縣市區(qū)委書(shū)記履行基層黨建工作第一責(zé)任人情況的一次集中檢閱,同時(shí)是對(duì)全市基層黨建工作的一次再部署、再落實(shí)的會(huì)議。前面,**

  • ***年,我認(rèn)真履行領(lǐng)班子、帶隊(duì)伍、抓黨員、保穩(wěn)定的基層黨建工作思路,以學(xué)習(xí)貫徹習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義思想和黨的十九大歷次全會(huì)精神為主線,以市局基層黨建工作考核細(xì)則為落腳點(diǎn),落實(shí)全面從嚴(yán)治黨主體

  • 根據(jù)會(huì)議安排,現(xiàn)將2022年履行抓基層黨建工作職責(zé)情況報(bào)告如下:一、履職工作特色和亮點(diǎn)1 突出政治建設(shè),著力在思想認(rèn)識(shí)上提高。牢固樹(shù)立抓黨建就是抓政績(jī)的理念,以“黨建工作抓引領(lǐng)、社區(qū)治理求突破,為民服

  • 2022年以來(lái),在**黨委的正確領(lǐng)導(dǎo)下,堅(jiān)持以習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義思想為指導(dǎo),深入學(xué)習(xí)宣傳貫徹黨的二十大精神,以黨建工作為統(tǒng)領(lǐng),扎實(shí)開(kāi)展夯實(shí)“三個(gè)基本”活動(dòng),以“四化四力”行動(dòng)為抓手,聚力創(chuàng)建

  • 各位領(lǐng)導(dǎo),同志們:根據(jù)會(huì)議安排,現(xiàn)就2022年度抓基層黨建工作情況匯報(bào)如下:一、主要做法及成效(一)強(qiáng)化政治引領(lǐng)。一是不斷強(qiáng)化理論武裝。堅(jiān)持通過(guò)黨組會(huì)、中心組學(xué)習(xí)會(huì)和“三會(huì)一課”,第一時(shí)間、第一議題學(xué)

  • 2022年度抓基層黨建工作述職報(bào)告按照黨委工作部署,現(xiàn)將本人2022年度抓基層黨建工作情況報(bào)告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發(fā)展首要位置,積極開(kāi)展

  • 2022年,是我在數(shù)計(jì)系黨總支書(shū)記這個(gè)新崗位上度過(guò)的第一個(gè)完整的工作年度。回首一年來(lái)在校黨委的正確領(lǐng)導(dǎo)下,與數(shù)計(jì)系領(lǐng)導(dǎo)班子和全體師生共同走過(guò)的日子,艱辛歷歷在目,收獲溫潤(rùn)心田。作為黨總支書(shū)記,我始終牢

  • 按照考核要求,現(xiàn)將本人一年來(lái),作為統(tǒng)戰(zhàn)部長(zhǎng)履行職責(zé)、廉潔自律等方面情況報(bào)告如下:一、著眼增強(qiáng)政治素質(zhì),不斷深化理論學(xué)習(xí)堅(jiān)持把旗幟鮮明講政治作為履職從政的第一位要求,帶領(lǐng)統(tǒng)戰(zhàn)系統(tǒng)干部堅(jiān)決擁護(hù)“兩個(gè)確立”

  • **年,緊緊圍繞黨工委、管委會(huì)的決策部署,全體人員團(tuán)結(jié)協(xié)作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開(kāi)拓進(jìn)取,認(rèn)真履職盡責(zé),圓滿完成各項(xiàng)工作任務(wù)。一、個(gè)人思想政治狀況檸檬文苑www bgzjy

  • 按照縣委關(guān)于開(kāi)展抓基層黨建述職評(píng)議會(huì)議的有關(guān)要求,經(jīng)請(qǐng)示縣委組織部同意,今天,我們?cè)诖苏匍_(kāi)2022年度基層黨組織書(shū)記抓基層黨建述職評(píng)議會(huì)議。1 首先,請(qǐng)**黨委書(shū)記,**同志述職。**黨委能夠主動(dòng)研究