#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
// Función para generar una pregunta nueva
void generarPregunta( int * num1, int * num2) {
* num1
= rand ( ) % 10 + 1 ; // Genera un número aleatorio entre 1 y 10 * num2
= rand ( ) % 10 + 1 ; // Genera otro número aleatorio entre 1 y 10 printf ( "¿Cuánto es %d por %d?\n " , * num1
, * num2
) ; }
// Función para verificar la respuesta del estudiante
bool verificarRespuesta( int respuesta, int num1, int num2) {
return respuesta == num1 * num2;
}
// Función para mostrar un mensaje de retroalimentación
void mostrarMensaje( bool respuestaCorrecta) {
const char * respuestasCorrectas[ ] = { "Muy bien!" , "Excelente!" , "Buen trabajo!" , "Bravo, eres un campeón!" } ;
const char * respuestasIncorrectas[ ] = { "Uf! No es correcta, por favor intenta de nuevo." ,
"Incorrecto. Intenta una vez más." ,
"No te rindas! Trata de nuevo." ,
"Tú puedes, sigue intentando." } ;
if ( respuestaCorrecta) {
printf ( "%s\n " , respuestasCorrectas
[ rand ( ) % 4 ] ) ; // Selecciona un mensaje aleatorio de respuestas correctas } else {
printf ( "%s\n " , respuestasIncorrectas
[ rand ( ) % 4 ] ) ; // Selecciona un mensaje aleatorio de respuestas incorrectas }
}
int main( ) {
srand ( time ( NULL
) ) ; // Inicializa la semilla para los números aleatorios
int intentos = 0 ;
int correctas = 0 ;
int num1, num2, respuesta;
while ( intentos < 15 ) { // Mientras no se hayan hecho 15 intentos
generarPregunta( & num1, & num2) ; // Genera una nueva pregunta
scanf ( "%d" , & respuesta
) ; // Lee la respuesta del usuario
if ( verificarRespuesta( respuesta, num1, num2) ) {
mostrarMensaje( true ) ; // Muestra mensaje de respuesta correcta
correctas++;
} else {
mostrarMensaje( false ) ; // Muestra mensaje de respuesta incorrecta
}
intentos++;
}
float porcentaje = ( float ) correctas / 15 * 100 ; // Calcula el porcentaje de respuestas correctas
printf ( "Preguntas correctas: %d\n " , correctas
) ; printf ( "Preguntas incorrectas: %d\n " , 15 - correctas
) ; printf ( "Rendimiento: %.2f%%\n " , porcentaje
) ;
if ( porcentaje <= 70 ) {
printf ( "Te sugerimos que repitas el ejercicio.\n " ) ; } else {
printf ( "¡Felicidades! Puedes continuar con el siguiente nivel.\n " ) ; }
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRpbWUuaD4KI2luY2x1ZGUgPHN0ZGJvb2wuaD4KCi8vIEZ1bmNpw7NuIHBhcmEgZ2VuZXJhciB1bmEgcHJlZ3VudGEgbnVldmEKdm9pZCBnZW5lcmFyUHJlZ3VudGEoaW50ICpudW0xLCBpbnQgKm51bTIpIHsKICAgICpudW0xID0gcmFuZCgpICUgMTAgKyAxOyAvLyBHZW5lcmEgdW4gbsO6bWVybyBhbGVhdG9yaW8gZW50cmUgMSB5IDEwCiAgICAqbnVtMiA9IHJhbmQoKSAlIDEwICsgMTsgLy8gR2VuZXJhIG90cm8gbsO6bWVybyBhbGVhdG9yaW8gZW50cmUgMSB5IDEwCiAgICBwcmludGYoIsK/Q3XDoW50byBlcyAlZCBwb3IgJWQ/XG4iLCAqbnVtMSwgKm51bTIpOwp9CgovLyBGdW5jacOzbiBwYXJhIHZlcmlmaWNhciBsYSByZXNwdWVzdGEgZGVsIGVzdHVkaWFudGUKYm9vbCB2ZXJpZmljYXJSZXNwdWVzdGEoaW50IHJlc3B1ZXN0YSwgaW50IG51bTEsIGludCBudW0yKSB7CiAgICByZXR1cm4gcmVzcHVlc3RhID09IG51bTEgKiBudW0yOwp9CgovLyBGdW5jacOzbiBwYXJhIG1vc3RyYXIgdW4gbWVuc2FqZSBkZSByZXRyb2FsaW1lbnRhY2nDs24Kdm9pZCBtb3N0cmFyTWVuc2FqZShib29sIHJlc3B1ZXN0YUNvcnJlY3RhKSB7CiAgICBjb25zdCBjaGFyICpyZXNwdWVzdGFzQ29ycmVjdGFzW10gPSB7Ik11eSBiaWVuISIsICJFeGNlbGVudGUhIiwgIkJ1ZW4gdHJhYmFqbyEiLCAiQnJhdm8sIGVyZXMgdW4gY2FtcGXDs24hIn07CiAgICBjb25zdCBjaGFyICpyZXNwdWVzdGFzSW5jb3JyZWN0YXNbXSA9IHsiVWYhIE5vIGVzIGNvcnJlY3RhLCBwb3IgZmF2b3IgaW50ZW50YSBkZSBudWV2by4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkluY29ycmVjdG8uIEludGVudGEgdW5hIHZleiBtw6FzLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gdGUgcmluZGFzISBUcmF0YSBkZSBudWV2by4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlTDuiBwdWVkZXMsIHNpZ3VlIGludGVudGFuZG8uIn07CiAgICAKICAgIGlmIChyZXNwdWVzdGFDb3JyZWN0YSkgewogICAgICAgIHByaW50ZigiJXNcbiIsIHJlc3B1ZXN0YXNDb3JyZWN0YXNbcmFuZCgpICUgNF0pOyAvLyBTZWxlY2Npb25hIHVuIG1lbnNhamUgYWxlYXRvcmlvIGRlIHJlc3B1ZXN0YXMgY29ycmVjdGFzCiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigiJXNcbiIsIHJlc3B1ZXN0YXNJbmNvcnJlY3Rhc1tyYW5kKCkgJSA0XSk7IC8vIFNlbGVjY2lvbmEgdW4gbWVuc2FqZSBhbGVhdG9yaW8gZGUgcmVzcHVlc3RhcyBpbmNvcnJlY3RhcwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIHNyYW5kKHRpbWUoTlVMTCkpOyAvLyBJbmljaWFsaXphIGxhIHNlbWlsbGEgcGFyYSBsb3MgbsO6bWVyb3MgYWxlYXRvcmlvcwogICAgCiAgICBpbnQgaW50ZW50b3MgPSAwOwogICAgaW50IGNvcnJlY3RhcyA9IDA7CiAgICBpbnQgbnVtMSwgbnVtMiwgcmVzcHVlc3RhOwogICAgCiAgICB3aGlsZSAoaW50ZW50b3MgPCAxNSkgeyAvLyBNaWVudHJhcyBubyBzZSBoYXlhbiBoZWNobyAxNSBpbnRlbnRvcwogICAgICAgIGdlbmVyYXJQcmVndW50YSgmbnVtMSwgJm51bTIpOyAvLyBHZW5lcmEgdW5hIG51ZXZhIHByZWd1bnRhCiAgICAgICAgCiAgICAgICAgc2NhbmYoIiVkIiwgJnJlc3B1ZXN0YSk7IC8vIExlZSBsYSByZXNwdWVzdGEgZGVsIHVzdWFyaW8KICAgICAgICAKICAgICAgICBpZiAodmVyaWZpY2FyUmVzcHVlc3RhKHJlc3B1ZXN0YSwgbnVtMSwgbnVtMikpIHsKICAgICAgICAgICAgbW9zdHJhck1lbnNhamUodHJ1ZSk7IC8vIE11ZXN0cmEgbWVuc2FqZSBkZSByZXNwdWVzdGEgY29ycmVjdGEKICAgICAgICAgICAgY29ycmVjdGFzKys7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbW9zdHJhck1lbnNhamUoZmFsc2UpOyAvLyBNdWVzdHJhIG1lbnNhamUgZGUgcmVzcHVlc3RhIGluY29ycmVjdGEKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaW50ZW50b3MrKzsKICAgIH0KICAgIAogICAgZmxvYXQgcG9yY2VudGFqZSA9IChmbG9hdCljb3JyZWN0YXMgLyAxNSAqIDEwMDsgLy8gQ2FsY3VsYSBlbCBwb3JjZW50YWplIGRlIHJlc3B1ZXN0YXMgY29ycmVjdGFzCiAgICAKICAgIHByaW50ZigiUHJlZ3VudGFzIGNvcnJlY3RhczogJWRcbiIsIGNvcnJlY3Rhcyk7CiAgICBwcmludGYoIlByZWd1bnRhcyBpbmNvcnJlY3RhczogJWRcbiIsIDE1IC0gY29ycmVjdGFzKTsKICAgIHByaW50ZigiUmVuZGltaWVudG86ICUuMmYlJVxuIiwgcG9yY2VudGFqZSk7CiAgICAKICAgIGlmIChwb3JjZW50YWplIDw9IDcwKSB7CiAgICAgICAgcHJpbnRmKCJUZSBzdWdlcmltb3MgcXVlIHJlcGl0YXMgZWwgZWplcmNpY2lvLlxuIik7CiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigiwqFGZWxpY2lkYWRlcyEgUHVlZGVzIGNvbnRpbnVhciBjb24gZWwgc2lndWllbnRlIG5pdmVsLlxuIik7CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9Cg==
stdout
¿Cuánto es 8 por 3?
Incorrecto. Intenta una vez más.
¿Cuánto es 2 por 1?
Uf! No es correcta, por favor intenta de nuevo.
¿Cuánto es 7 por 8?
Tú puedes, sigue intentando.
¿Cuánto es 8 por 2?
Incorrecto. Intenta una vez más.
¿Cuánto es 8 por 8?
Tú puedes, sigue intentando.
¿Cuánto es 6 por 6?
Uf! No es correcta, por favor intenta de nuevo.
¿Cuánto es 7 por 2?
Uf! No es correcta, por favor intenta de nuevo.
¿Cuánto es 6 por 5?
Incorrecto. Intenta una vez más.
¿Cuánto es 6 por 4?
Incorrecto. Intenta una vez más.
¿Cuánto es 7 por 3?
No te rindas! Trata de nuevo.
¿Cuánto es 6 por 3?
Tú puedes, sigue intentando.
¿Cuánto es 5 por 6?
Tú puedes, sigue intentando.
¿Cuánto es 9 por 4?
Tú puedes, sigue intentando.
¿Cuánto es 7 por 1?
Uf! No es correcta, por favor intenta de nuevo.
¿Cuánto es 4 por 9?
Tú puedes, sigue intentando.
Preguntas correctas: 0
Preguntas incorrectas: 15
Rendimiento: 0.00%
Te sugerimos que repitas el ejercicio.