• 四则运算2


    设计思想:从大到小,先把整个程序的框架搭盖起来,在慢慢往里面填充代码。
    1.先编写最基本的随机数和四则运算.
    2.把题目的数量定义为一个变量,并带入题目中。
    3.是否有乘除法,定义一个变量,

    “intk;
    cout<<"是否有乘除法,若有则选1,没有则选2"<<endl; 
    cin>>k;”
    4.随机数数值范围:C++的随机数函数为rand(), 可以获得一个非负整数的随机数。
    要让随机数限定在一个范围,可以采用模除加加法的方式。
    要产生随机数r, 其范围为 m<=r<=n,可以使用如下公式:
    rand()%(n-m+1)+m
    其原理为,对于任意数,
    0<=rand()%(n-m+1)<=n-m
    于是
    0+m<=rand()%(n-m+1)+m<=n-m+m

    m<=rand()%(n-m+1)+m<=n
    5.是否有余数和是否有负数和是否有乘除法是一样的.
    6.结束.
    源代码:
    //四则运算
    //2015.3.19
    #include <iostream>
    using namespace std;
    void main()
    {
        int i=0,j,k=0,n,m,l=0,p=0;
        int a[100],b[100],c[100];
        cout<<"请输入题目数:"<<endl;
        cin>>j;
        cout<<"是否有乘除法,若有则选1,没有则选2"<<endl;
        cin>>k;
        cout<<"数值范围(例:输入1 99 则数值范围为1-99):"<<endl;
        cin>>m>>n;
        if(k==1){
             cout<<"是否有负数,若有则选1,没有则选2"<<endl;
             cin>>l;
             cout<<"除法有无余数,若有余数则选1,没有则选2"<<endl;
             cin>>p;
             cout<<"输出的题目是:"<<endl;
             for(i=0;i<j;i++)
            {
                 a[i]=rand()%(n-m+1)+m;
                 b[i]=rand()%100;
                 c[i]=rand()%(n-m+1)+m;
                 if(b[i]>=0&&b[i]<=25)
                     cout<<a[i]<<"+"<<c[i]<<"=___"<<endl;
                     if(b[i]>=26&&b[i]<=50)
                   {
                       if(l==1)
                      {
                          cout<<a[i]<<"-"<<c[i]<<"=___"<<endl;
                     }
                       else
                   {
                         if(a[i]>c[i])
                             cout<<a[i]<<"-"<<c[i]<<"=___"<<endl;
                         else
                             cout<<c[i]<<"-"<<a[i]<<"=___"<<endl;
                }
            }
            if(b[i]>=51&&b[i]<=75)
                cout<<a[i]<<"*"<<c[i]<<"=___"<<endl;
            if(b[i]>=76&&b[i]<=100)
            {
                if(p==1)
                {
                     if(c[i]!=0)
                     cout<<a[i]<<"/"<<c[i]<<"=___"<<endl;
                 else
                 {
                     for(int y=0;;y++){
                     c[i]=rand()%(n-m+1)+m;
                     if(c[i]!=0)
                         break;
                     }
                     cout<<a[i]<<"/"<<c[i]<<"=___"<<endl;
                 }
            }
                else
                {
                    if(c[i]!=0&&a[i]%c[i]==0)
                        cout<<a[i]<<"/"<<c[i]<<"=___"<<endl;
                    else
                    {
                        for(int y=0;;y++){
                            a[i]=rand()%(n-m+1)+m;
                            c[i]=rand()%(n-m+1)+m;
                            if(c[i]!=0&&a[i]%c[i]==0)
                                break;
                        }
                        cout<<a[i]<<"/"<<c[i]<<"=___"<<endl;
                    }
                }
            }
        }
         }
        else
        {
           cout<<"是否有负数,若有负数则选1,否则选2"<<endl;
           cin>>l;
           cout<<"输出的题目是:"<<endl;
           for(i=0;i<j;i++)
             {
                 a[i]=rand()%(n-m+1)+m;
                 b[i]=rand()%100;
                 c[i]=rand()%(n-m+1)+m;
                 if(b[i]>=0&&b[i]<=50)
                     cout<<a[i]<<"+"<<c[i]<<"=___"<<endl;
                 if(b[i]>=51&&b[i]<=100)
                 {
                     if(l==1)
                         cout<<a[i]<<"-"<<c[i]<<"=___"<<endl;
                     else
                     {
                         if(a[i]>c[i])
                             cout<<a[i]<<"-"<<c[i]<<"=___"<<endl;
                         else
                             cout<<a[i]<<"-"<<c[i]<<"=___"<<endl;
                     }
                 }
        }
    }
    }
    
    
    

    结果截图:

     项目计划总结表:(日期:2016.3.19)

    时间记录日志:(日期:2016.3.19)

    日期 开始时间 结束时间 中断时间 净时间(分钟) 活动 备注
    3.14 8:00 9:50 10 100 上课  
    3.15            
    3.16 3:00 3:30   30 找思路  
    3.17            
    3.19 12:30 5:30   300 编程  
    日期 编号 引入阶段 排除阶段 修复时间 描述  
    3.19 1 编码 译码 50

     
                 
                 
                 
                 
  • 相关阅读:
    Java虚拟机基础
    排序系列之插入排序
    排序系列之冒泡排序
    成为优秀程序员的10个要点
    23个适合Java开发者的大数据工具和框架
    成为一个更优秀的开发者的10种方式
    Mybatis自动生成实体类
    Maven-SSM项目pom.xml配置以及springmvc配置以及mybatis配置及web.xml配置
    SSM项目layui分页实例
    图书管理系统(毕业论文)
  • 原文地址:https://www.cnblogs.com/liguoshuai/p/5295764.html
Copyright © 2020-2023  润新知