domingo, 31 de octubre de 2010

Deitel_C++_3.47 (Educación Asistida por Computadora, Aprendiendo las Tablas de Multiplicar)


                
// Programa para multiplicar dos numeros.           
                
#include <iostream>               
#include <cstdlib>               
#include <ctime>               
#include <cmath>               
                
using namespace std;              
                
int Generador(int);               
void Incorrectas(void);               
void Correctas(void);               
                
int main()               
{                
int number1, number2, digito;             
int respuesta, correctas = 0;            
int incorrectas = 0;             
int GeneralCounter = 0;             
int centinela = 1;             
                
srand (time (NULL));              
cout <<"\n\nEste programa le ayudara a aprender a multiplicar proponiendole ejercicios."<<endl;      
                
while (1 == centinela)             
{                
cout <<"Introduzca el numero de cifras que tendran sus numeros: " << endl;    
cin >> digito;              

number1 = Generador(digito);              
number2 = Generador(digito);              
                
cout <<"\nCuanto es "<<number1 <<" x " <<number2 << " ? "<<endl;     
cin >> respuesta;              
                
incorrectas = 0;              
                
while ( number1 * number2 != respuesta )         
{                
Incorrectas();                
cin >> respuesta;              
incorrectas++;                
GeneralCounter++;                
                
if ( 10 <= incorrectas )           
{                
cout <<"\nPide ayuda a tu maestro."<<endl;           
return 0;               
}                
                
}                
                
if ( 10 <= GeneralCounter)            
if (.25 * GeneralCounter >= correctas)           
{                
cout <<"\nPide ayuda a tu maestro." << endl;         
return 0;               
}                
                
Correctas();                
correctas++;                
GeneralCounter++;                
                
cout<<"\nSi quiere seguir introduzca 1, si no cualquier otro numero." << endl << endl;   
cin >> centinela;              
                
}                
                
return 0;               
}                
                

//Esta es la funcion Generador            
int Generador(int x )             
{                
                
int numero = rand () % 10;          
int multiplicador;               
                
if ( 0 < x )           
{                
if ( 1 < x )           
{                
for ( int n = 1; n <= x; n++ )      
{                
multiplicador = 1;              
for ( int m = 1; m < n; m++ )      
multiplicador *= 10;              
numero += ( rand() % 10 ) * multiplicador;        
}                
                
return numero;               
}                
                
else                
return rand() % 10;             
}                
                
else                
{                
return 0;               
}                
                
}                
                
//Definicion de la funcion Incorrectas.            
                
void Incorrectas(void)               
{                
int n = 1 + rand () % 4;        
                
switch(n)                
{                
case 1:               
cout <<"\nNo. Por favor trata de nuevo. " <<endl;        
break;                
case 2:               
cout <<"\nIncorrecto. Trata una vez mas. \n";          
break;                
case 3:               
cout <<"No te rindas."<<endl;             
break;                
case 4:               
cout <<"\nNo. Trata de nuevo." <<endl;           
break;                
default :               
cout <<"\nESTE PROGRAMA ESTA MAL! NO DEBERIA VER ESTE MENSAJE!"<<endl<<endl;       
break;                
}                
return;                
}                
                
// Aqui se define la funcion Correctas.          
void Correctas(void)               
{                
int n = 1 + rand() % 4;         

switch(n)                
{                
case 1:               
cout <<"\n Muy bien!"<<endl;             
break;                
case 2:               
cout <<"\nExcelente!"<<endl;               
break;                
case 3:               
cout <<"\nBuen trabajo!."<<endl;              
break;                
case 4:               
cout <<"\nSigue haciendolo bien!."<<endl;             
break;                
default:                
cout <<"\nSU PROGRAMA ESTA MAL! NO DEBERIA VER ESTE MENSAJE!"<<endl<<endl;       
break;                
}                
                
return;                
}                


No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...