#include <iostream> //Librería de entrada y salida.
using namespace std; //Indicamos que usaremos la biblioteca standart.
typedef long double LD; //Añadimos un identificador a long double llamado "LD".
//A continuación la de claración de variables globales y funciones.
int numeroUsuario ; //Variable para almacenar los números del usuario
LD uno (LD,LD); //Prototipo de función para sumar.
LD dos (LD,LD); //Prototipo de funcion para restar.
LD tres (LD,LD); //Prototipo de funcion para multiplicar.
LD cuatro (LD,LD); /*Prototipo de funcion para dividir que...
............................... .tambien devuelve el resto.*/
LD resto ; //El resto que devuelve la división.
LD resultado ; //Resultado de las funciones.
LD primerNumero ; //Primer numero para la opereción.
LD segundoNumero ; //Segundo número para la operación.
int numeroResto ; //Pasar a int el LD del primer número para usar modulus.
int numeroResto2 ; //Igual que el anterior pero con el segundo número.
int segundosSalir ; //Segundos que quiero que tarde el programa en cerrarse.
void funcionEspera(int) ; //Funcion para que el programa espere "x" segundos antes de salir.
int main() //Funcion principal del programa.
{ // Simbolo para declarar dentro de la funcion main.
Reiniciar: //Punto desde donde se reiniciará el programa.
cout << "\t\t\t ..CALCULADORA.. " << endl; //Muestra en pantalla el texto.
cout << "........................................................." <<
"......................."<<endl; //Crea una linea de puntos para dar mejor aspecto.
cout << endl << "Introduzca el numero correspondiente a la operacion y pulse enter..." << endl;
cout <<endl<<endl<<endl<<endl<<endl; //Muestra el texto en pantalla.
cout << "1 Sumar\n2 Restar\n3 Multiplicar\n4 Dividir\n8 Reiniciar\n9 Salir" <<
endl <<endl<<endl<<endl<<endl; //Muestra el texto en pantalla;
cout << endl << " ..OPERACIONES.." <<endl;//Muestra el texto en pantalla.
cout << "........................................................." <<
"......................."<<endl; //Muestra el texto en pantalla.
cin >> numeroUsuario; // Guarda el numero que dio el usuario en la variable.
if (numeroUsuario == 8){goto Reiniciar;} //Si introduce 8 y pulsa enter vuelve al principio.
if (numeroUsuario != 9) //Si introduce 9 y pulsa enter no ejecuta acciones hasta llegar al "}" correspondiente.
{
cout << "Introduzca el primer numero:" << endl; //Muestra en pantalla.
cin >> primerNumero; //Guarda el primer numero en la variable.
cout << "Introduzca el segundo numero:" << endl; //Muestra en pantalla.
cin >> segundoNumero; //Guarda el segundo numero en la variable.
if (numeroUsuario == 1) //Si el usuario eligio uno...
{
uno(primerNumero,segundoNumero); //... Llama a la función.
}
if (numeroUsuario == 2) //Si el usuario eligio dos...
{
dos(primerNumero,segundoNumero); //... Llama a la función.
}
if (numeroUsuario == 3) //Si el usuario eligio tres...
{
tres(primerNumero,segundoNumero);//... Llama a la función.
}
if (numeroUsuario == 4) //Si el usuario eligio cuatro...
{
cuatro(primerNumero,segundoNumero);//... Llama a la función.
}
cout << "El resultado es: " << resultado << endl; /* Da el valor de resultado...
...Resultado es devolvido por la función que se ha ejecutado.*/
if (numeroUsuario == 4) //Si el usuario eligio cuatro...
{
cout << "El resto de la division si quitamos los decimales es: " << resto << endl; //...
//...Muestra el texto anterior en pantalla.
if (resto == 0) //Si el resto es cero...
{
cout << "La division sin los decimales es exacta" <<endl;//...
//...muestra el texo anterior en la pantalla.
}
else cout << "La division sin decimales no es exacta";
//Si el resto no es cero muestra el texto anterior en pantalla.
}
cout <<endl << "Pulse 8 y enter para reiniciar..." <<endl;
//Muestra el texto anterior en pantalla.
cout << "Pulse 9 y enter para salir..."<<endl;
//Muestra el texto anterior en pantalla.
cin >> numeroUsuario;
//Vuelve a guardar en la variable el numero dado por el usuario.
if (numeroUsuario == 8) //Si el numero del usuario es ocho hace lo siguiente:
{
//Crea saltos de linea para dejar libre la pantalla al reiniciar y...
cout <<endl <<endl <<endl <<endl <<endl <<endl <<endl<<endl<<endl<<endl<<endl;
goto Reiniciar;//vuelve donde está "Reiniciar"
}
} //Salir
cout << " OmarHack C++ 2013";
//Muestra el texto anterior en pantalla.
funcionEspera(segundosSalir); //Llama a la función.
return 0; //Devuelve 0 a la funcion principal.
} //Cierra las delcaraciones de la función main.
//Funcion de sumar
LD uno (LD primerNumero,LD segundoNumero)
{
resultado = primerNumero + segundoNumero;
return resultado;
}
//Funcion de restar
LD dos (LD primerNumero,LD segundoNumero)
{
resultado = primerNumero - segundoNumero;
return resultado;
}
//Funcion de MMultiplicar
LD tres (LD primerNumero,LD segundoNumero)
{
resultado = primerNumero * segundoNumero;
return resultado;
}
//Funcion de Dividir y resto.
LD cuatro (LD primerNumero,LD segundoNumero)
{
numeroResto = primerNumero;
numeroResto2 = segundoNumero;
resultado = primerNumero / segundoNumero;
resto = (numeroResto % numeroResto2);
return resultado && resto;
}
//Funcion mostrar mensaje antes de salir automáticamente
void funcionEspera(int segundosSalir)
{
segundosSalir =3;
for(time_t i = (time(NULL) + segundosSalir); time(NULL) != i;);
}