调换瞳孔

# include & ltiostream.h & gt

# include & ltcstdlib & gt

# include & ltctime & gt

类别计算

{

int iA

int iB

char nOperator

公共:

void Rand _ A();//随机生成第一个操作数

void Rand _ B();//随机生成第二个操作数

void Rand _ Operator();//随机生成一个运算符

void打印();//将生成的表达式输出到屏幕上,等待答案。

int calcu();//根据iA、iB和运算符计算结果。

} ;

void calculate :: Rand_A()

{

srand(time(NULL)+1);

iA = rand()% 100;

}

void calculate :: Rand_B()

{

srand(time(NULL));

iB = rand()% 100;

}

void calculate :: Rand_Operator()

{

char op [] = {'+','-',' * ','/' };

srand(time(NULL));

no operator = op[rand()% 4];

}

void calculate :: print()

{

switch(no operator)///对三个运算符'-'和'/'和' * '有要求。如果不符合要求,打印前需要重新生成随机数据。

{

大小写'-':

而(iA & ltiB)

{

//如果ia

rand _ A();

rand _ B();

}

打破;

案例“/”:

while (iB == 0 || iA % iB!= 0 )

{

//If iB == 0 || iA% iB!= 0,那么除法表达式中的除数是0或者iA不能被iB整除,然后重新生成一个新的随机数。

rand _ A();

rand _ B();

}

大小写' * ':

而(iA * iB & gt100)

{

//如果iA*iB的结果大于100,则重新生成随机数。

iA-;

I B-;

}

打破;

}

cout & lt& ltiA & lt& ltnOperator & lt& ltiB & lt& lt"=?"& lt& ltendl

}

int calculate :: calcu()

{

int result = 0;

开关(无操作器)

{

大小写“+”:

结果= iA+iB;

打破;

大小写'-':

结果= iA-iB;

打破;

大小写' * ':

结果= iA * iB

打破;

案例“/”:

结果= iA/iB;

打破;

}

返回结果;

}

int main()

{

int结果;

int count = 0;//count用于记录生成表达式的数量。

while(count & lt;20)

{

计算calc

计算。rand _ A();

计算。rand _ B();

计算。rand _ Operator();

cout & lt& lt“第一”

calc . print();

CIN & gt;& gt结果;

如果(结果!= calc.calcu())

cout & lt& lt“可惜你的答案是错的,正确的结果是”

其他

cout & lt& lt“恭喜你答对了!”& lt& ltendl

count++;

}

返回0;

}我学c++的时间不长。请看看是否有用。