Cambiar de alumno
# 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()
{ p>
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.