domingo, 31 de octubre de 2010

Deitel_C++_3.36 (Tablas de Multiplicar en C++)

_____________________________________________________________________________________
3.36 al uso de las computadoras en la educación se le conoce como educación asistida por computadora. Un problema que se desarrolla en estos ambientes es la fatiga del estudiante. Esto puede eliminarse variando el diálogo de la computadora para mantener la atención del estudiante. Modifique el programa del Ejercicio 3.35 para que los diversos comentarios se impriman de la siguiente manera:

Diálogos para respuestas correctas
¡Muy bien!
¡Excelente!
¡Buen trabajo!
¡Continúa con tu buen desempeño!

Diálogos para respuestas incorrectas
No. Intenta de nuevo.
Error. Intenta una vez más.
¡No te des por vencido!
No. Sigue intentando.

Utilice el generador de números aleatorios para elegir un número del 1 al 4, para seleccionar un diálogo adecuado para cada respuesta. Utilice una estructura switch para desplegar los diálogos.
_____________________________________________________________________________________
Solución:
Este programa es una variación del anterior. También se presentan preguntas de aritmética básica y se presentan diferentes respuestas. Deberá mejorarse poniendo un ciclo que pregunte al estudiante si desea responder otra pregunta o no.


//Nuevas preguntas de artimetica con varias opciones de respuesta

 #include <iostream>
 #include <cstdlib>
 #include <ctime>

 using namespace std;

 int generador (void);
 void incorrectas (void);
 void correctas (void);

 int main ()

 {
 int number1, number2, respuesta, correctos, incorrectos;
 srand (time (NULL));
 number1 = generador();
 number2 = generador();
 cout<<"\nCuanto es: " << number1 << " x " << number2 <<"?"<<endl;
 cin >> respuesta;

 while ( number1 * number2 != respuesta)
 {
 incorrectas ();
 cin >> respuesta;
 }

 correctas ();

 return 0;
 }

///////////////////////////////////////////////////////////////////////////////////
// FUNCION GENERADOR
///////////////////////////////////////////////////////////////////////////////////

 int generador (void)
 {
 return 1 + rand() % 9;
 }

 //////////////////////////////////////////////////////////////////////////////////
 // FUNCION INCORRECTAS
 //////////////////////////////////////////////////////////////////////////////////

 void incorrectas (void)
 {

 int n = 1 + rand() % 4;
 
 switch (n)
 { 
 case 1:
 cout <<"No. Por favor trata de nuevo"<<endl;
 break;
 case 2:
 cout <<"Incorrecto. Trata una vez mas."<<endl;
 break;
 case 3:
 cout <<"No te rindas." << endl;
 break;
 case 4:
 cout <<"No. Trata de Nuevo." <<endl;
 break;
 default:
 cout <<"Su programa esta mal! Este mensaje no deberia verse!" << endl;
 break;
 }

 return;
 }

///////////////////////////////////////////////////////////////////////////
// FUNCION CORRECTAS
///////////////////////////////////////////////////////////////////////////

 void correctas (void)
 {
 int n = 1 + rand() % 4;

 switch (n)
 {
 case 1:
 cout<<"Muy bien!."<<endl;
 break;
 case 2:
 cout <<"Excelente!."<<endl;
 break;
 case 3:
 cout <<"Buen trabajo!." <<endl;
 break;
 case 4:
 cout <<"Sigue haciendolo bien!"<<endl;
 break;
 default:
 cout <<"Este programa esta mal!. No deberia ver este mensaje!"<<endl;
 break;
 }
 return;

 }

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...