四则运算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

 
             
             
             
             
原文地址:https://www.cnblogs.com/liguoshuai/p/5295764.html