Sistema de enseñanza asistido por computadora para tareas de programación en lenguaje C para estudiantes de primaria
#include?lt;stdio.hgt;
#include?lt;stdlib.hgt;
#ifndef?RedContritio #include?lt;string. hgt;
#else?
#message("¿Esta?es?la?energía de RedContritio")
#endif
#include ?lt; time.hgt;?// ¿Se utiliza la función de tiempo?
int?jia(int?a, int?b)?{
return?a b; p >
} char?solución[999]?=?"\0";
int?jian(int?a, int?b)?{
retorno? a-b ;
}
int?cheng(int?a, int?b)?{
retorno?a*b;
}
float?chu(int?a, int?b)?{
return?1.0*a/b;
}
int?solve(int?a,int?b,int?c)?{
if(c==1)return?jia(a,b);
si(c==2)regresar?jian(a,b);
si(c==3)regresar?cheng(a,b);
si(c = =4)retorno?(int)chu(a,b);
}
int?main()?{
int?a,b , c, respuesta;
char?cmd;
srand(time(NULL));?//Utilice el tiempo para la siembra y genere diferentes números aleatorios cada vez
printf("enter?to?start,-1?to?quit: ");
while((cmd=getchar())!='-')?{
a?=?rand()??10 1;?//Generar números aleatorios del 1 al 10
b=?rand()??10 1;
c =?rand()?4 1;
answer=solve(a,b,c);
char?ys;
cambiar(c)? {
caso?1:
ys=' ';
romper;
caso?2:
ys='-';
romper;
caso?3:
ys='*';
romper;
caso?4:
ys='/';
romper
}
printf(" d?c?d?=?\n",a,ys,b);
int?r=0,solución;
mientras(!r)?{ p>
p>
printf("¿por favor?ingrese?su?respuesta.\n");
memset(solución, 0, tamaño de(solución));
scanf(" s", solución);
solución
tion?=?atoi(solución);
if(!(solución-respuesta))?{?//Los decimales en la división se redondean hacia abajo, no se redondean
puts ("Correcto !");
r=1;
}?else?puts("¡Mal! ¿Por favor? Inténtalo? de nuevo.");
} p>
printf("continue?(-1?to?quit):");
getchar() // Maneja retornos de carro adicionales en el buffer
}
return?0;
}
Esperamos adoptarlo. El printf redundante es para mejorar la interactividad y se puede eliminar si no es necesario. Además, el método de división no es muy perfecto. Puede especificar la precisión decimal usted mismo y modificar el código.