• 结对编程第二次作业


    1.题目要求

    能够自动生成四则运算练习题
    可以定制题目数量
    用户可以选择运算符
    用户设置最大数(如十以内、百以内等)
    用户选择是否有括号、是否有小数
    用户选择输出方式(如输出到文件、打印机等)
    最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

    2.队伍组成

    由于同寝室舍友杨里生缺少队友,我们决定拉他入伙,将驾驶员的代码编写部分分工合作,由杨里生完成测试。
    在实际编写中,黄绍伟负责编写了主函数,四则运算生成
    我负责添加了括号,小数,功能的实现等完善了程序
    驾驶员:饶光宇,黄绍伟
    领航员:杨里生

    3.程序代码

    #include<stdio.h>
    #include<math.h>
    #include<windows.h>
    #include<time.h>
    void add()
    {
     int d,e,x;
     printf("			请选择几以内的运算:");
     scanf("%d",&x);
     printf("			需要练习多少道题:");
     scanf("%d",&d);
     printf("			是否为小数(1.小数   2.整数): ");
     scanf("%d",&e);
     switch(e)
     {
    
        case 1:
             Xiaoshu1(d,x);break;
        case 2:
             Zhengshu1(d,x);
             break;
    
     }
    }
     void Zhengshu1(int d,int x)
     {
         int a,b,i;
     for(i=0;i<d;i++)
     {
      a=rand()%x;
      b=rand()%x;
      printf("
    			 %d + %d = %d",a,b,a+b);
    }
     }
    
     void Xiaoshu1(int d,int x)
     {
         float a,b;
         int i;
    	 x=x*100;
         for(i=0;i<d;i++)
         {
             a=rand()%x*0.01;
             b=rand()%x*0.01;
             printf("
    			 %.2f + %.2f =%.2f",a,b,a+b);
         }
     }
    
    
    void del()
    {
     int d,e,x;
     printf("			请选择几以内的运算:");
     scanf("%d",&x);
     printf("			需要练习多少道题:");
     scanf("%d",&d);
     printf("			是否为小数(1.小数   2.整数): ");
     scanf("%d",&e);
     switch(e)
     {
    
         case 1:
             Xiaoshu2(d,x);break;
        case 2:
             Zhengshu2(d,x);
             break;
    
     }
    }
      void Zhengshu2(int d,int x)
     {
         int a,b,i;
     for(i=0;i<d;i++)
     {
         a=rand()%x;
         b=rand()%x;
         for(;a-b<0;)
         {
               a=rand()%x;
               b=rand()%x;
         }
      printf("
    			 %d - %d = %d",a,b,a-b);
    }
     }
      void Xiaoshu2(int d,int x)
     {
         float a,b;
         int i;
    	 x=x*100;
         for(i=0;i<d;i++)
         {
             a=rand()%x*0.01;
             b=rand()%x*0.01;
             printf("
    			 %.2f - %.2f =%.2f",a,b,a-b);
         }
     }
    
    void mul()
    {
     int d,e,x;
     printf("			请选择几以内的运算:");
     scanf("%d",&x);
     printf("			需要练习多少道题:");
     scanf("%d",&d);
     printf("			是否为小数(1.小数   2.整数): ");
     scanf("%d",&e);
     switch(e)
     {
    
         case 1:
             Xiaoshu3(d,x);break;
        case 2:
             Zhengshu3(d,x);
             break;
    
     }
    }
    void Zhengshu3(int d,int x)
     {
         int a,b,i;
     for(i=0;i<d;i++)
     {
      a=rand()%x;
      b=rand()%x;
      printf("
    			 %d * %d = %d",a,b,a*b);
    }
     }
     void Xiaoshu3(int d,int x)
     {
         float a,b;
         int i;
    	 x=x*100;
         for(i=0;i<d;i++)
         {
             a=rand()%x*0.01;
             b=rand()%x*0.01;
             printf("
    			 %.2f * %.2f =%.2f",a,b,a*b);
         }
     }
    void di()
    {
     int d,e,x;
     printf("			请选择几以内的运算:");
     scanf("%d",&x);
     printf("			需要练习多少道题:");
     scanf("%d",&d);
     printf("			是否为小数(1.小数   2.整数): ");
     scanf("%d",&e);
     switch(e)
     {
         case 1:
             Xiaoshu4(d,x);break;
        case 2:
             Zhengshu4(d,x);break;
     }
    }
    void Zhengshu4(int d,int x)
     {
         int a,b,i;
     for(i=0;i<d;i++)
     {
      a=rand()%x;
      b=rand()%x+1;
      printf("
    			 %d / %d = %d",a,b,a/b);
    }
     }
     void Xiaoshu4(int d,int x)
     {
         float a,b;
         int i;
    	 x=x*100;
         for(i=0;i<d;i++)
         {
             a=rand()%x*0.01;
             b=rand()%x*0.01+0.01;
             printf("
    			 %.2f / %.2f =%.2f",a,b,a/b);
         }
     }
     void kuohao()
    {
     int a,b,c,x,d,i,e;
     printf("			请选择几以内的运算:");
     scanf("%d",&x);
     printf("			需要练习多少道题:");
     scanf("%d",&e);
     for(i=0;i<=e;i++)
     {
     a=rand()%x;
     b=rand()%x;
     d=rand()%x;
     printf("
    			 (%d + %d)*%d = ",a,b,d);
     a=a+b;
     printf("%d",a*d);
     }
    }
    int main()
    {
     int choise;
     int con=1;
     printf("
    			欢迎进入小学简易四则运算
    
    ");
     while(1)
     {
      printf("		请选择:
    ");
      printf("			  加法运算(请输入1)
    ");
      printf("			  减法运算(请输入2)
    ");
      printf("			  乘法运算(请输入3)
    ");
      printf("			  除法运算(请输入4)
    ");
      printf("			  括号运算(请输入5)
    ");
      printf("			  退出运算(请输入6)
    ");
      scanf("%d",&choise);
      switch(choise)
      {
      case 1:
       add();
       break;
      case 2:
       del();
       break;
      case 3:
       mul();
       break;
      case 4:
       di();
       break;
      case 5:
       kuohao();
       break;
      case 6:
       return 0;
      }
      printf("
    			重新选择?(请输入1)
    ");
      printf("
    			退出运算?(请输入0)
    ");
      scanf("%d",&con);
      if(con==1)
       con=1;
      else if(con==0)
       break;
      else
       printf("抱歉!,你输入的指令有误!请重新输入!
    ");
     }
     return 0;
    }
    
    

    4.运行截图


    程序主界面

    加法运算

    减法运算

    乘法运算

    除法运算

    括号运算

    5. coding

    6.总结

    一开始觉得题目还蛮简单的,但是写的时候还是遇到了不少的问题,又觉得其实并不是那么的简单,在仔细查阅了资料并和导航员讨论后,才有了具体的实现思路,通过反复的测试编写,基本完成了题目的要求。自己的团队能力得到了提高,体会到了团队合作的高效。在团队合作的过程中无论是领航员还是驾驶员,在他们的身上我都看到了值得自己学习的地方,真所谓三人行必有我师焉,通过团队合作互相学习,共同进步。

    感谢大家

  • 相关阅读:
    C++ 黑白棋AI minimax+alphabeta剪枝
    BZOJ2839 集合计数 容斥
    BZOJ2287 消失之物
    CF235B Let's Play Osu! 期望DP
    线性基
    [HAOI2008]糖果传递 结论题
    [HAOI2007]上升序列
    线性筛及线性递推欧拉函数
    Codeforces 1064D/1063B Labyrinth
    洛谷P2120 [ZJOI2007]仓库建设 斜率优化DP
  • 原文地址:https://www.cnblogs.com/fanner7/p/8870103.html
Copyright © 2020-2023  润新知