软件工程课程作业(一)—20道随机四则运算题(C++)

一、编程思想:

1、定义所需要变量
2、设置数组,存储运算符,
3、通过随机函数random(0,100)找出运算数,random(0,4)找出运算符
4、通过输出显示运算式。

二、源代码:

//2016 3.3 Cheng Qiqin
//sizeyunsuan
#include <iostream>
#include<ctime>
#include<cstdlib>
#include<iomanip>
using namespace std;
#define N 20

void main(){
    int num1,num2,num3,num4;
    int i,j,k;
    int random(int,int);
    char fuhao[4]={'+','-','*','/'};
    for(k=0;k<N;k++){
        j=random(0,2);                  
        if(j==0){//整数四则运算
            i=random(0,4);                       //选择运算符
            num1=random(0,100);      
            num2=random(0,100); 
            switch(i){     
            case 0: //整数相加
                cout<<num1<<fuhao[i]<<num2<<"="<<endl;
                break;
            case 1: //整数相减
                cout<<num1<<fuhao[i]<<num2<<"="<<endl;
                break;
            case 2://整数相乘
                cout<<num1<<fuhao[i]<<num2<<"="<<endl;
                break;
            case 3: //整数相除
                while(num2==0){//除数不为0
                    num2=random(0,100);
                }
                cout<<num1<<fuhao[i]<<num2<<"="<<endl;
                break;
            default:
                break;
            }
        }
        else{//真分数四则运算
            i=random(0,4);                        
            num1=random(0,100);                     
            num2=random(0,100);                   
            while(num2==0||num1>=num2){//分数分母不为0并且分子不能大于分母
                    num1=random(0,100);
                    num2=random(0,100);  
            }
            num3=random(0,100);                     
            num4=random(0,100); 
            while(num4==0||num3>=num4){//分数分母不为0并且分子不能大于分母
                    num3=random(0,100);
                    num4=random(0,100);
            }
            switch(i){     
            case 0:        //分数相加
                cout<<num1<<"/"<<num2<<fuhao[i]<<num3<<"/"<<num4<<"="<<endl;
                break;
            case 1:        //分数相减
                cout<<num1<<"/"<<num2<<fuhao[i]<<num3<<"/"<<num4<<"="<<endl;
                break;
            case 2:        //分数相乘
                cout<<"("<<num1<<"/"<<num2<<")"<<fuhao[i]<<"("<<num3<<"/"<<num4<<")"<<"="<<endl;
                break;
            case 3:       //分数相除
                while(num3==0){//作为分母的分数不为0
                    num3=random(0,100);
                    while(num3>=num4){        
                        num3=random(0,100);
                        num4=random(0,100);
                    }  
                }
                cout<<"("<<num1<<"/"<<num2<<")"<<fuhao[i]<<"("<<num3<<"/"<<num4<<")"<<"="<<endl;
                break;
            default:
                break;
            }
        }
    }
}

int random(int start,int end){     //随机数函数 
    return start+(end-start)*rand()/(RAND_MAX+1);
}

三、运行结果:

四、目前实现功能:

1、100以内整数相加、相减、相乘、相除。

2、实现真分数相加、相减、相乘、相除。

五、期望实现功能:

1、随机数每次运行的数都不一样。

2、可以实现四则混合运算。

原文地址:https://www.cnblogs.com/chengqiqin07/p/5247150.html