• 四则运算2


    编程思路:

    设置一个一维数组,数组里面存放随机产生的数,数组的长度有宏定义来完成,数组里面无重复的数

    1、避免重复:设置一个整型变量B,当一个四则运算等式生成后,整型变量A的值加1;

    2、可定制:由用户设置要打印的页数和每一页要打印的题目数量;

    3、是否有乘除法:随机生成的数(加减乘除分别为1 2 3 4)是否有34

    4、数值范围:宏定义一个值,使得随机生成的数在这个范围之内;

    5、加减有无负数:设置一个if...else...语句判断数是否大于0;

    6、除法有无余数:看被除数和除数进行取余,看它的值是否为零;

    7、是否支持分数:在程序的前面使这个随机产生的数是double类型,如若不支持分数,把他强制转换为整型;

    程序源代码:

    #include<iostream>
    
    #define W 100000
    
    #define N 100//控制数值范围
    
    using namespace std;
    
    void main()
    
    {  
    
    double a0,b0,a1=0,b1=0,k;//k控制加减乘除的变化
    
     a0=rand()%N;b0=rand()%N;k=rand()%4;
    
     double A[W];//存储随机产生的数存储在数组里面  
    
    int Page=1,Iz,Tp;//Page表示一共有多少页,Iz表示一共有多少道题目,Tp表示每页一共有多少道题目
    
     int B;//B表示存进多少题目的数量
    
     cout<<"****************************"<<endl;
    
     cout<<"          四则运算          "<<endl;
    
     cout<<"****************************"<<endl;
    
     cout<<"请选择(有请选1,无请选0):"<<endl;
    
     cout<<"1、是否有乘除法;"<<endl;  
    
    cout<<"2、加减有无负数;"<<endl;
    
     cout<<"3、除法有无余数;"<<endl;
    
     cout<<"4、是否支持分数;"<<endl;
    
     int f1,f2,f3,f4;
    
     cin>>f1>>f2>>f3>>f4;  
    
    cout<<"您好!请输入您一共要打印多少道题目,每页有多少道题目?"<<endl;  
    
    cin>>Iz>>Tp;
    
     
    
     for(int i=0;i<Iz;i++)
    
     {  
    
     int t=0;  
    
     if(t==0)    cout<<"第【"<<Page<<"】页:"<<endl;
    
      if(t==Tp)    t=0;Page++;
    
      do   {    a1=rand()%N;    b1=rand()%N;   }while(a1==0||b1==0);  
    
     int a=(int)a0,b=(int)b0;
    
      for(int m=0;m<W;m++)  
    
      for(int n=m+1;n<W-1;n++)  
    
       if(A[m]==A[n])   
    
       A[m]=0;
    
      if(f1==0&&(k==3||k==4))
    
       i--;
    
      if(f3==0&&(a1!=0)&&(b1!=0))  
    
      i--;  
    
     if(k==1)
    
      {  
    
      if(f2==1)  
    
       cout<<"(-"<<a<<")+(-"<<b<<")="<<endl;  
    
      else   
    
      cout<<a<<"+"<<b<<"="<<endl;   
    
     if(f4==1&&a1!=0&&b1!=0)   
    
      cout<<a<<"/"<<a1<<"+"<<b<<"/"<<b1<<"="<<endl;   
    
     else    
    
     cout<<a<<"+"<<b<<"="<<endl;    
    
    A[i]=a;A[i+1]=b;
    
       t++;
    
       B++;   
    
    }
    
      if(k==2)   
    
    {   
    
     if(f2==1)   
    
      cout<<"(-"<<a<<")-(-"<<b<<")="<<endl;  
    
      else    
    
     cout<<a<<"-"<<b<<"="<<endl;   
    
     if(f4==1&&a1!=0&&b1!=0)  
    
       cout<<a<<"/"<<a1<<"-"<<b<<"/"<<b1<<"="<<endl;  
    
      else   
    
      cout<<a<<"-"<<b<<"="<<endl;  
    
      A[i]=a;A[i+1]=b;
    
       t++;
    
       B++;
    
      }  
    
     if(k==3)  
    
     {  
    
      if(f4==1)   
    
      cout<<a<<"/"<<a1<<"*"<<b<<"/"<<b1<<"="<<endl;  
    
      else   
    
      cout<<a<<"*"<<b<<"="<<endl;  
    
      A[i]=a;A[i+1]=b;  
    
      t++;
    
       B++;
    
      }
    
      if(k==4)  
    
     {
    
       if(f4==1&&a1!=0&&b1!=0)
    
        cout<<"("<<a<<"/"<<a1<<")/"<<"("<<b<<"/"<<b1<<")="<<endl;  
    
      else   
    
      cout<<a<<"/"<<b<<"="<<endl;   
    
     A[i]=a;A[i+1]=b;  
    
      t++;    
    
    B++;
    
      }
    
     }
    
    }

    总结:我修改了我的编程思路,设置一个一维数组,数组里面存放随机产生的数,数组的长度有宏定义来完成,数组里面无重复的数,我的程序错误:每页输出之后,会陷入死循环;程序设置的布局非常重要,条理要清晰,当程序比较多的时候,每行必要的时候添上注释,表明这句的功能;生成程序没有错误,但是有警告的时候,最好修改一下!

                      学生:陈杰     日期:19/3/2015   教师:王建民   课程:软件工程概论    

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

    3/14

    11:00

    12:10

    20

    50

    设置程序的布局和思路

    3/15

    10:00

    12:00

    25

    95

    避免重复和打印方式

    3/16

    10:50

    11:50

    10

    50

    控制一些参数

    3/17

    19:00

    21:00

    50

    30

    调试程序,修改错误

    3/18

    14:00

    15:00

    10

    40

    反复修改

    3/19

    16:00

    18:00

    50

    70

    实验截图,上传博客

     
  • 相关阅读:
    Objective-C语法之NSDictionary和NSMutableDictionary
    Objective-C语法之指针型参数
    Objective-C语法之nonatomic和atomic之间的区别
    Objective-C语法之NSSortDescriptor
    Objective-C语法之NSPredicate的使用
    SimPholders2 模拟器 App 文件路径查看工具
    清除 Xcode 项目缓存
    Xcode 6 免证书真机调试
    [转]iOS证书(.p12)和描述文件(.mobileprovision)申请
    WWDC 2015大会到来了
  • 原文地址:https://www.cnblogs.com/chenjie00/p/4351013.html
Copyright © 2020-2023  润新知