首页 > 其他 > 详细

20150324 练习一 四则运算

时间:2015-03-26 20:46:48      阅读:231      评论:0      收藏:0      [点我收藏+]

20150326

软件工程的作业,四则运算小系统。以下是源代码:

  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<time.h>    
  4 int amount = 0;
  5 void inface()
  6 {
  7      printf("\t\t--------------------------------------\n");
  8     printf("\t\t-                                    -\n");
  9     printf("\t\t-                                    -\n");
 10     printf("\t\t-            四则运算系统            -\n");
 11     printf("\t\t-                                    -\n");
 12     printf("\t\t-                                    -\n");
 13     printf("\t\t-                       Ives 14.3.26 -\n");
 14     printf("\t\t--------------------------------------\n");
 15 
 16 }
 17 int Random(int n,int m)//随机生成n~m的整数
 18 {
 19     int op;
 20     srand(time(NULL));
 21     op = rand()%m+n;
 22     return op;
 23 }
 24 
 25 int Right()
 26 {
 27     int n;
 28     n = Random(1,4);
 29     switch(n){
 30         case 1:
 31             printf("恭喜你,你答对了!\n");
 32             break;
 33         case 2:
 34             printf("你真棒,你答对了!\n");
 35             break;
 36         case 3:
 37             printf("你真聪明,你答对了!\n");
 38             break;
 39         case 4:
 40             printf("。。。。。。。答对了!\n");
 41             break;
 42         default:
 43             break;
 44     }
 45     amount++;
 46     return amount;
 47 }
 48 
 49 void Worng()
 50 {
 51     int n;
 52     n = Random(1,4);
 53     switch(n){
 54         case 1:
 55             printf("回答错误!\n");
 56             break;
 57         case 2:
 58             printf("错了,再接再厉\n");
 59             break;
 60         case 3:
 61             printf("没关系,这次错了,下次加油!\n");
 62             break;
 63         case 4:
 64             printf("回答错了,揉揉眼睛继续努力!\n");
 65             break;
 66     }
 67 }
 68 
 69 void operation()
 70 {
 71     int a;
 72     int b;
 73     int ou;
 74     int answer;
 75 
 76     ou=Random(1,4);
 77     a = Random(1,18);
 78     b = Random(3,10);
 79     
 80     switch(ou){
 81         case 1:
 82             printf("%d+%d=",a,b);
 83             scanf("%d",&answer);
 84             if(answer == a+b)
 85                 Right();
 86             else
 87                 Worng();
 88             break;
 89         case 2:
 90             printf("%d-%d=",a,b);
 91             scanf("%d",&answer);
 92             if(answer == a-b)
 93                 Right();
 94             else
 95                 Worng();
 96             break;
 97         case 3:
 98             printf("%d*%d=",a,b);
 99             scanf("%d",&answer);
100             if(answer == a*b)
101                 Right();
102             else
103                 Worng();
104             break;
105         case 4:
106             printf("%d/%d=",a,b);
107             scanf("%d",&answer);
108             if(answer == a/b)
109                 Right();
110             else
111                 Worng();
112             break;
113         default:
114             printf("系统出错了!\n");
115             printf("%d",ou);
116                 break;
117     }
118 }
119 
120 int main()
121 {
122     int n=1;
123     inface();
124     printf("本系统一共有20道题,请认真答题!\n");
125     while(n<=20){
126         printf("第%d道题:  ",n);
127         operation();
128         n++;
129     }
130     printf("你答对了%d道题.\n",amount);
131     
132     return 0;
133 
134 }

 

预算1个小时,实际用时也差不多一个小时。

写这个程序的过程遇到的一些困难:

1.忘记了怎么样产生随机数,查了教材知道了用srand生成种子,在利用rand函数生成随机数,不过这样的方式生成的随机数应该不算真正的随机数,是伪随机数,因为数列不够长,所以会经常性同时两个数都重复。我会查询资料看看真正的随机数是怎么样生成的。

2.一时忘记了应该怎么产生随机的运算符,后来舍友的提醒一下子明白过来了。利用产生的随机数,当等于1的时候是+,2的时候是-这样。

4.一开始的时候是想用Java来写一个带界面的四则运算的小系统的,打开了Eclipse,想要先写个窗体,但是四十分钟了都没有写出来,对Java真的很不熟悉,一点儿都不会用。所以后来选择了C来写。

 

这个程序的一些小特别的地方:答对的时候会有不一样反应,利用了随机的原理,这样不会产生视觉疲劳。不过这个是上学期老师讲讲过的。

 

个人心得:

代码真的要经常敲才会熟练,不然真的会很生疏。我对Java这么语言真的很生疏,很多基本的东西都不懂,连一个简单的窗体也不能很快的写出来,就算写出来了也很丑。所以在今后要认真多练习Java。加油!

 

你只有非常努力,才能看起来毫不费力!

 

以下是我的测试的数据:

技术分享技术分享

 

这次的作业报告到此结束,谢谢老师审阅。

 

20150324 练习一 四则运算

原文:http://www.cnblogs.com/IvesHe/p/4369782.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!