zoukankan      html  css  js  c++  java
  • 四则运算改进版+心得体会+总结

    四则运算改进版

    编译环境:Visual C++ 6.0(完整绿色版)

    开发人员:Ives

    开发时间:2015-04-02

    实现功能:

        1.基本的加减乘除

        2.每次出20道题目,会显示答对的数目和得分

        3.能出于分数相关的运算

          4.能过输入真分数

        5.回答错题目会显示正确的答案

        6.答对题目的提示和打错题目提示都不相同,不会产生时间疲劳

    缺点:

        1.输入分数有时候会出错

        2.输入其他字符也会出现错误

        3.不能选择计算的最大数值

        4.不能用户选择做什么运算

               ......

    个人体会:

        1.能力还是不足,一些思路还是想不到

        2.要多参考其它同学的代码,多多少少都能学到一些东西

        3.写代码一定要规范,不然他人看不懂你的代码

    总结:

        一定要多动脑子去思考,应该怎么设计,为什么要这样设计,一定要有一个清晰的思路再去写代码。因为编写代码其实是很简单的一个工作,如果你有了一个清晰的思路。其实在写程序的时候,测试也很重要的,在编码的同时一起测试,调试,到了完成整个程序的时候才不会出现一大堆BUG,这个花的时间去调试会更多,拖延了程序的完成时间。

    下面这个图说明的是,理解问题的要求应该是第一位,再然后是设计数据结构和算法,因为这两步做好了,那么程序也差不多完成一半了,所以以后开发程序的时候,一定要弄清楚这个程序的架构,你要怎么样去设计它,,它用到的算法,用到的数据结构,一旦这些都清晰了,那么编码是在容易不过的事情了。

       加油。

     

    下图是运行的结果截图(共3张):

    下面是源代码:

      1 #include<stdio.h>
      2 #include<stdlib.h>
      3 #include<time.h>    
      4 int amount = 0;
      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 Rigth()
     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++;
     46     return amount;
     47 }
     48 
     49 void Wrong()
     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 c;
     74     int d;
     75     int fz;
     76     int fm;
     77     int ou;
     78     int answer;
     79     int answer1;
     80     int ture=0;
     81 
     82     ou=Random(1,8);
     83     a = Random(1,10);
     84     b = Random(2,11);
     85     c = Random(2,9);
     86     d = Random(1,10);
     87     
     88     switch(ou){
     89         case 1:
     90             printf("%d+%d=",a,b);
     91             scanf("%d",&answer);
     92             if(answer == a+b)
     93                 Rigth();
     94             else
     95             {
     96                 Wrong();
     97                 printf("正确的答案是:%d
    ",a+b);
     98             }
     99             break;
    100         case 2:
    101             printf("%d-%d=",a,b);
    102             scanf("%d",&answer);
    103             if(answer == a-b)
    104                 Rigth();
    105             else
    106             {
    107                 Wrong();
    108                 printf("正确的答案是:%d
    ",a-b);
    109             }
    110             break;
    111         case 3:
    112             printf("%d*%d=",a,b);
    113             scanf("%d",&answer);
    114             if(answer == a*b)
    115                 Rigth();
    116             else
    117             {
    118                 Wrong();
    119                 printf("正确的答案是:%d
    ",a*b);
    120             }
    121             break;
    122         case 4:
    123             printf("%d/%d=",a,b);
    124             if(a>b && a%b == 0)
    125             {
    126                 scanf("%d",&answer);
    127                 if((float)answer == a/b)
    128                     Rigth();
    129                 else
    130                 {
    131                     Wrong();
    132                     printf("正确的答案是:%d
    ",a/b);
    133                 }
    134             }
    135             else{
    136                 scanf("%d/%d",&answer,&answer1);
    137                 if(answer == a && answer1 == b)
    138                     Rigth();
    139                 else
    140                 {
    141                     Wrong();
    142                     printf("正确的答案是:%d
    ",a/b);
    143                 }
    144             }
    145             break;
    146         case 5:
    147                 printf("%d/%d + %d/%d = ",a,b,c,d);
    148                 scanf("%d/%d",&answer,&answer1);
    149                 fz = (a*d)+(c*b);
    150                 fm = b*d;
    151                 if(answer/answer1 == fz/fm)
    152                     Rigth();
    153                 else
    154                 {
    155                     Wrong();
    156                     printf("正确的答案是:%d
    ",fz/fm);
    157                 }
    158                 break;
    159         case 6:
    160                 printf("%d/%d - %d/%d = ",a,b,c,d);
    161                 scanf("%d/%d",&answer,&answer1);
    162                 fz = (a*d)-(c*b);
    163                 fm = b*d;
    164                 if(answer/answer1 == fz/fm)
    165                     Rigth();
    166                 else
    167                 {
    168                     Wrong();
    169                     printf("正确的答案是:%d
    ",fz/fm);
    170                 }
    171                 break;
    172         case 7:
    173                 printf("%d/%d + %d/%d = ",a,b,c,d);
    174                 scanf("%d/%d",&answer,&answer1);
    175                 fz = a*c;
    176                 fm = b*d;
    177                 if(answer/answer1 == fz/fm)
    178                     Rigth();
    179                 else
    180                 {
    181                     Wrong();
    182                     printf("正确的答案是:%d
    ",fz/fm);
    183                 }
    184                 break;
    185         case 8:
    186                 printf("%d/%d + %d/%d = ",a,b,c,d);
    187                 scanf("%d/%d",&answer,&answer1);
    188                 fz = a*d;
    189                 fm = b*c;
    190                 if(answer/answer1 == fz/fm)
    191                     Rigth();
    192                 else
    193                 {
    194                     Wrong();
    195                     printf("正确的答案是:%d
    ",fz/fm);
    196                 }
    197                 break;
    198             default:
    199                 printf("系统出错了!
    ");
    200                 printf("%d",ou);
    201                 break;
    202     }
    203 }
    204 
    205 int main()
    206 {
    207     int n=1;
    208     inface();
    209     printf("本系统一共有20道题,请认真答题!");
    210     while(n<=20){
    211         printf("
    第%d道题:  ",n);
    212         operation();
    213         n++;
    214     }
    215     printf("你答对了%d道题,得分是:%d
    ",amount,amount*5);
    216     
    217     return 0;
    218 
    219 }

    -----------------------------------------------------本次实验报告到此结束,谢谢老师审阅-------------------------------------------------------------------

  • 相关阅读:
    项目管理5大过程9大知识域44个定义
    linux centos6.5 修改ip地址
    .Net 6 已知问题集
    第二次阅读作业——程志
    采访大四学长整理笔记
    c#
    团队作业三两感想 by 程志
    搞定3G上网
    高焕堂Android應用框架原理與程式設計代码补遗(一)
    要素类属性内容全角换半角
  • 原文地址:https://www.cnblogs.com/IvesHe/p/4386545.html
Copyright © 2011-2022 走看看