首页 > 其他 > 详细

四则运算3

时间:2016-03-26 18:30:45      阅读:291      评论:0      收藏:0      [点我收藏+]

源代码:

//四则运算
//2015.3.19
#include <iostream>
using namespace std;
int t=0;
//确定四则运算符号
char Judge3( int x)
{ 
    char a;
    if(x==0)
        a=+;
    if(x==1)
        a=-;
    if(x==2)
        a=*;
    if(x==3)
        a=/;
    return a;
}
//确定得数
int Judge4(int a,int b,int c)
{
    int d;
    if(b==0)
        d=a+c;
    if(b==1)
        d=a-c;
    if(b==2)
        d=a*c;
    if(b==3)
        d=a/c;
    return d;
}
//判断一个数是否为1或2
void Judge(int o)
{
    for(int q=0;;q++)
    {
        if(o!=1||o!=2)
        {
            cout<<"输入错误!请重新输入(1或2):"<<endl;
            cin>>o;
        }
        else
            break;
    }
}
void Judge1(int a,int b,int c,int d)
{
    int answer;
    cout<<a<<Judge3(b)<<c<<"=___"<<endl;
    cout<<"请输入正确答案:";
    cin>>answer;
    if(answer==Judge4(a,b,c))
    {
        cout<<"    正确"<<endl;
        d=+1;
        }
}
int Judge5(int a,int b )
{
    cout<<a<<Judge3(b);
    return 0;
}
int main()
{
    int i=0,j,n,m,v,answer,p,l,k,a[100],b[100],c[100];
    cout<<"请输入题目数(题目数为大于0的整数):"<<endl;
    cin>>j;
    for(int q=0;;q++)
    {
        if(j==0)
        {
            cout<<"输入错误,请重新输入题目数(题目数为大于0的整数):"<<endl;
            cin>>j;
        }
        else
            break;
    }
    cout<<"数值范围(例:输入1 99 则数值范围为1-99):"<<endl;
    cin>>m>>n;
    cout<<"请选择运算方式:";
    cout<<"1.简单运算"<<endl;
    cout<<"2.复杂运算"<<endl;
    cin>>v;
    if(v==1)
    {
      cout<<"是否有乘除法,若有则选1,没有则选2"<<endl;
      cin>>k;
      if(k==1)
     {
         cout<<"是否有负数,若有则选1,没有则选2"<<endl;
         cin>>l;
         //Judge(l);
         cout<<"除法有无余数,若有余数则选1,没有则选2"<<endl;
         cin>>p;
         //Judge(p);
         cout<<"输出的题目是:"<<endl;
         for(i=0;i<j;i++)
        {
            //产生随机数
             a[i]=rand()%(n-m+1)+m;
             b[i]=rand()%4;
             c[i]=rand()%(n-m+1)+m;
             if(b[i]==0)
             {
                 Judge1(a[i],b[i],c[i],t);
             }
                 if(b[i]==1)
               {
                   if(l==1)
                  {
                      Judge1(a[i],b[i],c[i],t);
                 }
                   else
               {
                   if(a[i]>c[i])
                   {
                       Judge1(a[i],b[i],c[i],t);
                   }
                   else
                   {
                       Judge1(c[i],b[i],a[i],t);
                   }
            }
        }
                 if(b[i]==2)
                 {
                     Judge1(a[i],b[i],c[i],t);
                 }
        if(b[i]==3)
        {
            if(p==1)
            {
                if(c[i]!=0)
                {
                    Judge1(a[i],b[i],c[i],t);
                }
                    
             else
             {
                 for(int y=0;;y++){
                 c[i]=rand()%(n-m+1)+m;
                 if(c[i]!=0)
                     break;
                 }
                 Judge1(a[i],b[i],c[i],t);
             }
        }
            else
            {
                if(c[i]!=0&&a[i]%c[i]==0)
                {
                    Judge1(a[i],b[i],c[i],t);
                }
                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;
                    }
                    Judge1(a[i],b[i],c[i],t);
                }
            }
        }
    }
    cout<<"答对题目的个数是:"<<t<<"";
     }
    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()%2;
             c[i]=rand()%(n-m+1)+m;
             if(b[i]==0){
                 Judge1(a[i],b[i],c[i],t);
             }
             if(b[i]==1)
             {
                 if(l==1)
                 {
                     Judge1(a[i],b[i],c[i],t);
                 }
                 else
                 {
                     if(a[i]>c[i])
                     {
                         Judge1(a[i],b[i],c[i],t);
                     }
                     else
                     {
                         Judge1(c[i],b[i],a[i],t);
                     }
                 }
             }
    }
}
}
    else
    {

        int num,w[100];
        for(i=0;i<j;i++)
        { c[i]=rand()%(n-m+1)+m;
            num=rand()%10;
            for(int g=0;;g++){
            if(num>0&&num<=9)
            {
                for(int y=0;y<num;y++)
                {//产生随机数
            a[y]=rand()%(n-m+1)+m;
            b[y]=rand()%4;
            c[y]=rand()%(n-m+1)+m;
            
                    cout<<a[y]<<Judge3(b[y]);
                }
                cout<<c[i];
            }
            }
            cout<<endl;
        }
}
return 0;
}

 

四则运算3

原文:http://www.cnblogs.com/liguoshuai/p/5323590.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!