当前位置: 移动技术网 > IT编程>开发语言>.net > 四则运算自动生成

四则运算自动生成

2019年04月29日  | 移动技术网IT编程  | 我要评论

一、题目要求

1、能够自动生成四则运算练习题
2、可以定制题目数量
3、用户可以选择运算符
4、用户设置最大数(如十以内、百以内等)
5、用户选择是否有括号、是否有小数
6、用户选择输出方式

二、编译工具

codeblocks

三、结对伙伴

姓名 班级 代码地址
牛斌帅 1605班 https://git.dev.tencent.com/inbsi/sizeyunsuanti.git
房旭 1604班

四、编程过程

在编程过程中我们也遇到了种种问题并进行解决

1、将括号判断语句的位置进行了移动,解决了混合运算需要每次进行判断括号的bug;

解决前:

解决后:

2,解决随机数小数只是0.xx而无法生成x.xx的形式问题。

解决前:

解决后:

3、解决最大值只能为10/100的不够灵活问题。

解决前:

   printf("设置最大数(若为0,最大数为10,若不是,最大数为100):");
   scanf("%d",&max);
   printf("是否含有小数(0不是,其他数是):");
   scanf("%d",&cent);
   printf("选择练习运算的运算符(1为加,2为减,3为乘,4为除,5为混合运算(含括号或不含括号)):");
   scanf("%d",&symbol);
   printf("是否输出到文件中:(0为不输出到文件中,否则为输出到文件中)");
   scanf("%d",&file);


   for(int i=0;i<practice_num;i++)
   {
       fflush(stdin);  //清除文件缓冲区,文件以写方式打开时将缓冲区内容写入文件
       if(cent==0)
       {
          if(max==0)
          {
            a=rand()%10;  //获得0~9的一个随机数
            b=rand()%10+1;
            c=rand()%10;
            d=rand()%10+1;
          }
          if(max!=0)
          {
            a=rand()%100;
            b=rand()%100+1;
            c=rand()%100;
            d=rand()%100+1;
          }
       }
       else
       {
          if(max==0)
          {
            a=rand()%10*0.01;
            b=rand()%10+1;
            c=rand()%10*0.01;
            d=rand()%10*0.01;
          }
          if(max!=0)
          {
            a=rand()%100*0.01;
            b=rand()%100+1;
            c=rand()%100*0.01;
            d=rand()%100*0.01;
          }
       }

解决后:

if(cent==0)     //判定为整数
        {
           a=rand()%max;
           b=rand()%max;
           c=rand()%max;
           d=rand()%max;
        }
        else            //小数
        {

             a=rand()/(double)(rand_max/max);
             b=rand()/(double)(rand_max/max);
             c=rand()/(double)(rand_max/max);
             d=rand()/(double)(rand_max/max);
        }

4、解决随机数生成种子不变问题。

#include<time.h>
srand(time(null));

5、解决输入无效运算符提示问题。

解决前:

解决后:

6、成功录入文件提示更清晰。

解决前:

解决后:

五、结对感受

在这一次结对编程作业中
我主要充当领航员的作用,我的同伴充当着驾驶员的作用。
我的同伴主要是对程序进行编码,然后由我来后期调试。
在结对编程中我发现我们能够更加专注,并提高解决问题的效率
而且减少了错误的发生,要知道错误发现的越早,修复成本越低
更不用提无形中促进了个人知识的提高与传递
友谊也在不知不觉中巩固

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网