La Red de Conocimientos Pedagógicos - Currículum vitae - Cambiar de alumno

Cambiar de alumno

# incluir ltiostream.h gt

# incluir ltcstdlib gt

# incluir ltctime gt

Cálculo de categorías

{

int iA

int iB

char nOperator

Público:

void Rand _ A() // Generar aleatoriamente el primer operando

void Rand _ B(); //Generar aleatoriamente el segundo operando

void Rand _ Operador() //Generar aleatoriamente un operador

p>

void print(); //Envía la expresión generada a la pantalla y espera la respuesta.

int calcu(); //Calcula el resultado en función de iA, iB y operadores.

};

cálculo nulo:: Rand_A()

{

srand(time(NULL) 1);

iA = rand() 100;

}

calcular nulo:: Rand_B()

{

srand( time(NULL));

iB = rand() 100;

}

calcular vacío:: Rand_Operator()

{

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

srand(time(NULL)); >sin operador = op[rand() 4];

}

calcular vacío:: imprimir()

{

cambiar (sin operador)///Existen requisitos para los tres operadores '-', '/' y '*'. Si no se cumplen los requisitos, es necesario regenerar los datos aleatorios antes de imprimir.

{

Caso '-':

Y (iA ltiB)

{

// si ia

rand _ A();

rand _ B();

}

Romper

Caso "/":

mientras (iB == 0 || iA iB!= 0 )

{

//Si iB == 0 | | iA iB! = 0, entonces el divisor en la expresión de división es 0 o iA no es divisible por iB, y luego se regenera un nuevo número aleatorio.

rand _ A();

rand _ B();

}

Caso ' * ':

Y (iA * iB gt100)

{

//Si el resultado de iA*iB es mayor que 100, regenera el número aleatorio.

iA-;

I B-;

}

Romper;

}

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

}

int calcular:: calcu()

{

int resultado = 0;

Interruptor (sin operador)

{

Caso " ":

Resultado = iA iB;

Descanso

Caso '-':

Resultado = iA-iB

Descanso

Caso ' * ':

Resultado = iA * iB

Rotura

Caso "/":

Resultado =; iA/iB;

Pausa;

}

Devolver resultado;

}

int main()

{

int result;

int count = 0; //count se utiliza para registrar el número de expresiones generadas.

mientras(cuenta lt; 20)

{

Calcular calc

Calcular. rand_A();

Cálculo. rand_B();

Cálculo. rand_Operator();

cout lt "primero"

calc print();

CIN gt resultado;

if (resultado! = calc.calcu())

cout lt lt"Desafortunadamente tu respuesta es incorrecta, el resultado correcto es"

Otro

cout lt lt"¡Felicitaciones por la respuesta correcta!" lt ltendl

count;

}

Devuelve 0;

} No lo he hecho He estado aprendiendo C durante mucho tiempo. Por favor vea si ayuda.