首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • C语言猜数游戏实验报告

    时间:2020-07-04 11:48:47 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:语言 实验 报告

     一、

     课程设计的目的 ...........................................2

     二、

     设计的内容与要求 .........................................2

     三、

     总体设计 .................................................2

     四、

     详细设计 .................................................3

     五、

     调试与测试 ....................... ........................9

     六、

     课程设计的总结 ...........................................12

     七、

     附录 .....................................................13 3

      在本次的课程设计中,由我和肖玉闫合作完成,我主要负责编写程序。

     对于流程图我主要负责:产生随机数函数,成绩判断函数,用户输入函数,排序函数,比较函数。

      一、

     课程设计的目的

     1. 巩固和加深学生对 C 语言课程的基本知识的理解和掌握 2. 掌握 C 语言编程和程序调试的基本技能 3. 利用 C 语言进行基础的软件设计 4. 提高运用 C 语言解决实际问题的能力

      二、

     设计的内容与要求

     1. 随机产生一个五位数,且没有重复数字 2. 猜数是给出大小提示 3. 记录猜数的次数,最后给出评分

      三.总体设计

     (1)整个猜数游戏分为 3 个模块:

     1.开始游戏; 2.帮助界面,介如何进行游戏; 3.退出游戏。

     (2)算法描述:

     1.主函数 main():清屏之后运行 fun 函数; 2.随机数函数 rn():产生一个没有重复数字的五位随机数; 3.排序函数 choise():对数组进行排序; 4.用户输入函数 input():用户可以输入一个五位数; 5.比较函数 compare():对用户输入的五位数与系统产生的五位数进行比较; 6.成绩函数 grade():根据用户输入的次数进行打分; 7.欢迎界面函数 welcome():打印出一个欢迎界面; 8.选择执行函数 fun():根据用户的选择来执行对应的功能;

     四.详细设计

     数据的组织描述,系统控制流程图,程序的代码的对应解释。

     main()函数 清屏 打印欢迎界面 getch() fun() 结束

      rn 函数 int b,d;long int c; unsigned long int a;int array[5] a 接收产生的随机数;c=a 将 c 的各个位上的数字放入数组 array[5]中 用 choise 函数对 array 进行排序 判断 array 数组的各个数是否相同 是 return a 否 结束

      choise 函数(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 否 结束

     input 函数(long int a) int c=0;long int b 输出打印相应提示 输出打印次数:c+1; 用户输入五位数,用 b 接收; c++; b=0? compare(a,b)=1? 否 是 是 retun c 结束 否 c>67? 给出失败提示; gc(); 是 fun 函数

     compare 函数(long int a,long int b) int c a<b? a>b? a=b? 给 出 大于提示; c=0 给 出 小于提示; c=0 给 出 等于提示; c=1 return c 结束 是 是 是 否 否 否

     grade 函数(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) 根据用户输入次数给出提示 是 结束 否 是 否 是

      五,调试与测试

     调试 1. 在编程当中,由于要书写大量的程序,所以经常出现一些小错误; 2. 对变量的定义有时会出现错误,比如将 long int 型写成 int 型; 3. 最重要的是函数的应用,函数应该应用得当,否则会出现很大的错误。

     测试

     开始界面:

      菜单:

      六. 课程设计的总结

     通过这个课程设计,我们更加牢固的掌握了书本上的知识,并对于以前并不熟悉的知识有了更加深刻的了解。在完成此次课程设计的过程中,虽然花费了大量的精力,但带给我更多的收获。C 语言是一门实践课,可以说只有自己亲手操作,才能感受到他的魅力。

     此次编程设计中,涉及到许多书上没有的知识,而我通过此次设计掌握了这些知识。输入与调试程序是相当枯燥的,但构思和完善程序的过程是相当有趣的,无论怎么样,当你亲手完成了一个程序时,还是相当有成就感的。

     此次任务的完成,也体现了同学之间的团结精神,实践是检验真理的唯一标准,没有实践,就不会发现和深刻体会他的真实存在。只有通过检验的真理,在自己的心里,才会认可他的真实性。理论与实际的相结合才能真正把握所学和所掌握的知识。同时培养了我们的团队精神,使我们懂得了团队的重要性。在今后的学习工作中我们将会更好的发挥团队精神。

     总的来说,C 语言是一门非常有趣的学科,可以通过人为的设计而让电脑来辅助性的做一些机械的东西。在今后的学习过程中,我也将更加的认真学习 C 语言,希望能在今后完成设计出一个属于自己的有意思的程序。

     参考书目

     ] [1] 《标准 C C 》 语言基础教程英文版》< < 第四版 >[M], ,( ( 美) ) 布朗森著出版 社:电子工业出版社

     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();

     } }

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识