zoukankan      html  css  js  c++  java
  • 四则运算3

    一、实验思路

         大部分沿用四则运算2的思路和代码。添加了输入答案和判断正误的程序

    二、实验代码

    //数值范围    1
    //避免重复
    //是否有乘除法   1
    //加减有无负数   1
    //除法有无余数   1
    //输出格式控制   1
    #include<iostream.h>
    #include<stdlib.h>
    int main()

       int  num,fanwei,mul,fushu,yushu,num1;
       int  a[100],b[100],c[4],temp,i,j,k;
       int d1=0,d2=0;//统计做对或者做错题数目
       double sum;
       cout<<"请输入题目数量:";
       cin>>num;
       cout<<"请输入题目中数值范围:";
       cin>>fanwei;
       cout<<"是否有乘除法(1表示有,其余表示没有):";
       cin>>mul;
       cout<<"是否允许减法结果为负数(1表示允许,其余表示不允许):";
       cin>>fushu;
       cout<<"除法结果有无余数(1表示允许,其余表示不允许):";
       cin>>yushu;
       cout<<"一行输出几道题目(不大于6道):";
       cin>>k;
       while(k<=0||k>6)
       {
          cout<<"注意输入要求:";
          cin>>k;
       }
       for(i=0;i<num;i++)  //进行 题目数量 次循环
       {
          a[i]=rand()%fanwei;  //控制数值范围
          b[i]=rand()%fanwei;
          if(mul==1)    //控制有无乘除法
           c[4]=rand()%4;    //根据c[4]的值随机出现四则运算
          else
           c[4]=rand()%2;
          if(c[4]==0)
          {
             cout<<a[i]<<"+"<<b[i]<<"=";
          } 
          if(c[4]==1)
          {  
             if(fushu != 1)
             {
                temp=a[i];
                a[i]=b[i];
                b[i]=temp;
                cout<<a[i]<<"+"<<b[i]<<"=";
                cin>>sum;
                if(sum==a[i]+b[i])
                {
                   cout<<"回答正确"<<endl;
                   d1++;
                }
             else
             {
               cout<<"回答错误"<<endl;
               d2++;
             }
          }
          else
           {
              cout<<a[i]<<"-"<<b[i]<<"=";
              cin>>sum;
              if(sum==a[i]-b[i])
              {
                 cout<<"回答正确"<<endl;
                 d1++;
              }
              else
              {
                 cout<<"回答错误"<<endl;
                 d2++;
              }
           }            
        } 
        if(c[4]==2)
        {
           while((yushu != 1)&&(a[i]%b[i] != 0));
           {
              a[i]=rand()%fanwei; 
           }
           cout<<a[i]<<"/"<<b[i]<<"=";
           cin>>sum;
            if(sum==a[i]/b[i])
            {
               cout<<"回答正确"<<endl;
               d1++;
            }
            else
            {
               cout<<"回答错误"<<endl;
               d2++;
            }
        }   
        if(c[4]==3)
        {   
           cout<<a[i]<<"*"<<b[i]<<"=";
           cin>>sum;
            if(sum==a[i]*b[i])
            {
               cout<<"回答正确"<<endl;
               d1++;
            }
            else
            {
               cout<<"回答错误"<<endl;
               d2++;
            }
        }
        if((i+1)%k==0)
         cout<<endl;
        for(j=0;j<i;j++)       //判断题目是否重复,若重复则a[i]++
         if(a[j]==a[i]&&b[j]==b[i]&&c[j]==c[i])    
          a[i]++;
       }
       cout<<"做对题数目:"<<d1<<endl;
         cout<<"做错题数目:"<<d2<<endl;
       return 0;
    }

    三、实验结果截图

    四、错误分析

         由于没有余数,所以就出现第二道直接舍弃余数的答案;

      解决了上次实验如果要求一样出的题目一样的问题;

         对本次实验缺少思路,把题目想的太难,自己根本实现不了,然后在听了别人的建议后,在原先的基础上改了些许就实现了老师的要求,在以后的实验中要开拓思路,不能束缚自己的思想。

    五、本周时间安排

    周活动总结表

    姓名:岳竞一                                   日期:2015.3.22

    日期       任务

    听课

    编写程序

    阅读课本

    准备考试

     

     

    日总计

    周一

     200

     

     

     

     

     

    200

    周二

    300

     

     

     

     

     

    300

    周三

     200

     30

     

     

     

     

    230

    周四

     200

     

     

     

     

     

     200

    周五

     200

     50

     

     

     

     

     250

    周六

     

     50

     

     

     

     

     50

    总计

    1100

    130

           

    1230

    时间记录表:

    学生        岳竞一                                            日期          2015.3.22     

    教师        王建民                                             课程           PSP          

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

     3.18

    14:50

     15:20

     

     30

     编程

     

     3.20

     15:10

     16:00

     

    50

     编程

     

    3.21

    20:00

    20:50

     

    50

    编程

     

    缺陷记录表

    学生       岳竞一   

    日期       2015.3.22   

    教员       王建民    

    缺陷记录表

    解决过程

    解决办法

    思路

    百度类似题型,问同学

    就原先基础,增加部分变量

    除法中余数直接舍去

    没完成

  • 相关阅读:
    【linux]】lighttpd的日志格式
    【vi】awk为指定行的指定字段添加一个单词
    【Android】命令行操作-启动应用程序
    CCS设置第一个li的元素与其他li样式不同
    nginx+tomcat 下POST响应参数过大无法显示完整及文件下载服务遇到过大文件无法下载解决办法
    有重复行,查询时只保留最新一行的sql
    Android定时执行和停止某任务
    MySQL每天自动增加分区
    <html:option获取文本值
    easyui datagrid 增删改查示例
  • 原文地址:https://www.cnblogs.com/yue3475975/p/4357503.html
Copyright © 2011-2022 走看看