26/01/2009, 15:17
|
| | Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 16 años Puntos: 0 | |
Respuesta: Evaluenme programa hecho en C++ Aqui esta:
Cabecera.hpp:
Código:
//Cabecera.hpp
#include <iostream>
enum ELEGIR { //Constante elegir del menu
Sumar = 1,
Restar,
Multiplicar,
Dividir,
Potencia,
LimpiarPantalla,
AcercaDe,
Salir};
class Operaciones //Clase de operaciones aritmeticas
{
public:
/*=============Accesores=============*/
//Configurar
//Valores Aritmeticos
void ConfigurarPrimerValor(double Valor){PrimerValor = Valor;} //Inline
void ConfigurarSegundoValor(double Valor){SegundoValor = Valor;} //Inline
//Valores de Potencias
void ConfigurarPotenciaValor(double Valor){PotenciaValor = Valor;} //Inline
void ConfigurarPotenciaElevador(double Valor){PotenciaElevador = Valor;} //Inline
//Resultado
void ConfigurarResultado(double Valor){suResultado = Valor;} //Inline
//Obtener
//Valores aritmeticos
double& ObtenerPrimerValor() {return PrimerValor;} //Inline
double& ObtenerSegundoValor() {return SegundoValor;} //Inline
//Valores de Potencias
double& ObtenerPotenciaValor() {return PotenciaValor;} //Inline
double& ObtenerPotenciaElevador() {return PotenciaElevador;} //Inline
//Resultado
double& ObtenerResultado() {return suResultado;} //Inline
/*============Fin Accesores==========*/
/*==========Metodos generales=========*/
//Aritmeticos
double aSumar(double &rPrimerValor,double &rSegundoValor); //Suma dos valores
double aRestar(double &rPrimerValor,double &rSegundoValor); //Resta dos valores
double aMultiplicar(double &rPrimerValor,double &rSegundoValor); //Multiplica dos valores
double aDividir(double &rPrimerValor,double &rSegundoValor); //Divide dos valores
//Potencias
double aPotencia();
//Preguntar número valores
int PreguntarNumeroValores();
/*=========Fin Metodos generales==========*/
private:
//Variables miemro valores aritmeticos
double PrimerValor;
double SegundoValor;
//Numero Valores
int NumeroValores;
//Variables miembro valores de potencias
double PotenciaValor;
double PotenciaElevador;
//Resultado
double suResultado;
};
Funciones.hpp:
Código:
/*=============Funciones============*/
void HacerBienvenida();
void HacerMenu(short &Elegido);
void HacerAcercaDe();
void MostrarResultado(Operaciones &ObjetoResultado);
Calculadora.cpp:
Código:
//Calculadora.cpp
#include "Cabecera.hpp"
#include "Funciones.hpp"
using namespace std;
/*=============Función main===============*/
int main()
{
Operaciones ObjSumar;
Operaciones ObjRestar;
Operaciones ObjMultiplicar;
Operaciones ObjDividir;
Operaciones ObjPotencia;
//Variables
short Elegir = Sumar;
bool fSalir = false;
int Retorno = 0;
HacerBienvenida();
do
while (!fSalir)
{
HacerMenu(Elegir);
if(Elegir != -1)
{
if(Elegir < Sumar || Elegir > Salir)
{
cout << "ERROR:El valor '" << Elegir << "' no es valido." << endl << endl;
system("pause > nul");
Retorno = 1;
Elegir = 0;
break;
}
}
switch(Elegir)
{
case Sumar:
ObjSumar.PreguntarNumeroValores();
ObjSumar.aSumar(ObjSumar.ObtenerPrimerValor(),ObjSumar.ObtenerSegundoValor());
MostrarResultado(ObjSumar);
Retorno = 1;
break;
case Restar:
ObjRestar.PreguntarNumeroValores();
ObjRestar.aRestar(ObjRestar.ObtenerPrimerValor(),ObjRestar.ObtenerSegundoValor());
MostrarResultado(ObjRestar);
Retorno = 1;
break;
case Multiplicar:
ObjMultiplicar.PreguntarNumeroValores();
ObjMultiplicar.aMultiplicar(ObjMultiplicar.ObtenerPrimerValor(),ObjMultiplicar.ObtenerSegundoValor());
MostrarResultado(ObjMultiplicar);
Retorno = 1;
break;
case Dividir:
ObjDividir.PreguntarNumeroValores();
ObjDividir.aDividir(ObjDividir.ObtenerPrimerValor(),ObjDividir.ObtenerSegundoValor());
MostrarResultado(ObjDividir);
Retorno = 1;
break;
case Potencia:
ObjPotencia.ConfigurarResultado(ObjPotencia.aPotencia());
MostrarResultado(ObjPotencia);
Retorno = 1;
break;
case LimpiarPantalla:
system("cls");
Retorno = 1;
break;
case AcercaDe:
HacerAcercaDe();
Retorno = 1;
break;
case Salir:
fSalir = true;
cout << "Saliendo..." << endl;
Retorno = 0;
break;
default:
cout << "ERROR:El valor ingresado no es valido." << endl << endl;
system("pause > nul");
Retorno = 0;
break;
} //Fin switch
break;
} //Fin while
while(Retorno == 1);
return 0;
} //Fin main
//Difiniciones de Metodos
double Operaciones::aSumar(double &rPrimerValor,double &rSegundoValor) //Suma dos valores
{
cout << endl << "Primer valor: ";
cin >> rPrimerValor;
cout << endl << endl << "Segundo valor: ";
cin >> rSegundoValor;
cout << endl;
suResultado = rPrimerValor + rSegundoValor;
cout << "Resultado actual: " << suResultado << endl << endl;
if(NumeroValores > 0)
{
for(;NumeroValores > 2;NumeroValores--)
{
rPrimerValor = suResultado;
cout << endl << "Siguiente Valor: ";
cin >> rSegundoValor;
cout << endl;
suResultado = rPrimerValor + rSegundoValor;
if(NumeroValores >= 3)
{
cout << "Resultado actual: " << suResultado << endl << endl;
}
}
}
return (rPrimerValor + rSegundoValor);
}
double Operaciones::aRestar(double &rPrimerValor,double &rSegundoValor) //Resta dos valores
{
cout << endl << "Primer valor: ";
cin >> rPrimerValor;
cout << endl << endl << "Segundo valor: ";
cin >> rSegundoValor;
cout << endl;
suResultado = rPrimerValor - rSegundoValor;
cout << "Resultado actual: " << suResultado << endl << endl;
if(NumeroValores > 0)
{
for(;NumeroValores > 2;NumeroValores--)
{
rPrimerValor = suResultado;
cout << endl << "Siguiente Valor: ";
cin >> rSegundoValor;
cout << endl;
suResultado = rPrimerValor - rSegundoValor;
if(NumeroValores >= 3)
{
cout << "Resultado actual: " << suResultado << endl << endl;
}
}
}
return (rPrimerValor - rSegundoValor);
}
double Operaciones::aMultiplicar(double &rPrimerValor,double &rSegundoValor) //Multiplica dos valores
{
cout << endl << "Primer valor: ";
cin >> rPrimerValor;
cout << endl << endl << "Segundo valor: ";
cin >> rSegundoValor;
cout << endl;
suResultado = rPrimerValor * rSegundoValor;
cout << "Resultado actual: " << suResultado << endl << endl;
if(NumeroValores > 0)
{
for(;NumeroValores > 2;NumeroValores--)
{
rPrimerValor = suResultado;
cout << endl << "Siguiente Valor: ";
cin >> rSegundoValor;
cout << endl;
suResultado = rPrimerValor * rSegundoValor;
if(NumeroValores >= 3)
{
cout << "Resultado actual: " << suResultado << endl << endl;
}
}
}
return (rPrimerValor * rSegundoValor);
}
double Operaciones::aDividir(double &rPrimerValor,double &rSegundoValor) //Divide dos valores
{
cout << endl << "Primer valor: ";
cin >> rPrimerValor;
cout << endl << endl << "Segundo valor: ";
cin >> rSegundoValor;
cout << endl;
suResultado = rPrimerValor / rSegundoValor;
cout << "Resultado actual: " << suResultado << endl << endl;
if(NumeroValores > 0)
{
for(;NumeroValores > 2;NumeroValores--)
{
rPrimerValor = suResultado;
cout << "Siguiente Valor: ";
cin >> rSegundoValor;
cout << endl << endl;
suResultado = rPrimerValor / rSegundoValor;
if(NumeroValores >= 3)
{
cout << "Resultado actual: " << suResultado << endl << endl;
}
}
}
return (rPrimerValor / rSegundoValor);
}
double Operaciones::aPotencia()
{
double Resultado;
cout << endl << "El valor a aplicar la potencia: ";
cin >> PotenciaValor;
cout << endl << endl << "Elevado a: ";
cin >> PotenciaElevador;
cout << endl;
Resultado = PotenciaValor;
for(;PotenciaElevador > 1;PotenciaElevador--)
{
Resultado *= PotenciaValor;
}
return Resultado;
}
int Operaciones::PreguntarNumeroValores()
{
char siNo;
NumeroValores = 0;
cout << endl << "\xa8La operaci\xa2n sera con mas de dos operandos? (S/N): ";
cin >> siNo;
cout << endl << endl;
if(siNo == 's' || siNo == 'S')
{
cout << "\xa8.Cuantos operandos.?: ";
cin >> NumeroValores;
cout << endl << endl;
}
return NumeroValores;
}
//Definición de Funciones
void HacerBienvenida()
{
cout << " ========================================" << endl;
cout << " |Bienvenido a la calculadora 'Calculer'|" << endl;
cout << " |Espero que te sirva |" << endl;
cout << " | Por Raykro |" << endl;
cout << " ========================================" << endl << endl << endl;
}
void HacerMenu(short &Elegido) //Crea el menu
{
Elegido = -1;
cout << "*****Menu*****" << endl;
cout << "(1) Sumar" << endl;
cout << "(2) Restar" << endl;
cout << "(3) Multiplicar" << endl;
cout << "(4) Dividir" << endl;
cout << "(5) Potencia" << endl;
cout << "(6) Limpiar Pantalla" << endl;
cout << "(7) Acerca de Calculer..." << endl;
cout << "(8) Salir" << endl;
cin >> Elegido;
}
void HacerAcercaDe() //Muestra en pantalla la información de la aplicación
{
system("cls");
cout << endl << "Calculer v1.0" << endl;
cout << "Creado por Raykro" << endl;
cout << "P\xa0gina..." << endl;
cout << "[email protected]" << endl;
cout << endl << "Software de libre distribuci\xa3n" << endl << endl;
system("pause > nul");
}
void MostrarResultado(Operaciones &ObjetoResultado) //Muestra el resultado en pantalla
{
cout << endl << "Resultado: " << ObjetoResultado.ObtenerResultado() << endl << endl;
}
/*=============================Fin del Programa==================================*/
Última edición por Raykro; 26/01/2009 a las 21:22 |