zoukankan      html  css  js  c++  java
  • 20150324 练习一 四则运算

    20150326

    软件工程的作业,四则运算小系统。

    以下是我的测试的数据:

    以下是源代码:

      1 #include<stdio.h>
      2 #include<stdlib.h>
      3 #include<time.h>    
      4 int amount = 0;//定义全局变量amount存储答对题目的数量
    5 void inface()//简单界面
    6 { 7 printf(" -------------------------------------- "); 8 printf(" - - "); 9 printf(" - - "); 10 printf(" - 四则运算系统 - "); 11 printf(" - - "); 12 printf(" - - "); 13 printf(" - Ives 14.3.26 - "); 14 printf(" -------------------------------------- "); 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("恭喜你,你答对了! "); 32 break; 33 case 2: 34 printf("你真棒,你答对了! "); 35 break; 36 case 3: 37 printf("你真聪明,你答对了! "); 38 break; 39 case 4: 40 printf("。。。。。。。答对了! "); 41 break; 42 default: 43 break; 44 } 45 amount++;//回答正确就+1
    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("回答错误! "); 56 break; 57 case 2: 58 printf("错了,再接再厉 "); 59 break; 60 case 3: 61 printf("没关系,这次错了,下次加油! "); 62 break; 63 case 4: 64 printf("回答错了,揉揉眼睛继续努力! "); 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);//随机生成1-4的整数 77 a = Random(1,18);//随机生成1-18的整数
    78 b = Random(3,10);//随机生成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("系统出错了! "); 115 printf("%d",ou); 116 break; 117 } 118 } 119 120 int main() 121 { 122 int n=1; 123 inface(); 124 printf("本系统一共有20道题,请认真答题! "); 125 while(n<=20){ 126 printf("第%d道题: ",n); 127 operation(); 128 n++; 129 } 130 printf("你答对了%d道题. ",amount); 131 132 return 0; 133 134 }

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

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

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

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

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

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

    个人心得:

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

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

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

  • 相关阅读:
    Android组件化框架设计与实践
    浅谈Android进阶之路
    Android APP 性能优化的一些思考
    有关 Hybrid 开发模式实践总结
    开发人员必备的技能——单元测试
    有关Android插件化思考
    人生的意义到底是什么?
    Asp.Net Core 3.1学习-读取、监听json配置文件(7)
    Asp.Net Core 3.1学习-依赖注入、服务生命周期(6)
    Asp.Net Core 3.1学习- 应用程序的启动过程(5)
  • 原文地址:https://www.cnblogs.com/IvesHe/p/4369782.html
Copyright © 2011-2022 走看看