/*este programa simulara un cajero, tendrá una clase donde se definira cajero. El cajero tendrá una determinada catidad de dinero
y el usuario podra ir sacando dinero que se le dará en las antidades mas grandes de dinero posible*/
#include "cajero.h"
//creamos el cuerpo de los metodos de la clase cajero
cajero::cajero(int billetes500, int billetes100, int billetes50,
int billetes10, int monedas1)
{
suBilletes500 = billetes500;
suBilletes100 = billetes100;
suBilletes50 = billetes50;
suBilletes10 = billetes10;
suMonedas1 = monedas1;
}
int cajero::mostrarDineroTotal()
{
int totalDinero;
totalDinero=(suBilletes500 * 500 + suBilletes100 * 100 + suBilletes50 * 50
+ suBilletes10 * 10 + suMonedas1);
return totalDinero;
}
void cajero::meterDinero(int billetes500, int billetes100, int billetes50,
int billetes10, int monedas1)
{
suBilletes500 = suBilletes500 + billetes500;
suBilletes100 = suBilletes100 + billetes100;
suBilletes50 = suBilletes50 + billetes50;
suBilletes10 = suBilletes10 + billetes10;
suMonedas1 = suMonedas1 + monedas1;
}
void cajero::sacarDinero(int sumaDinero)
{
//creamos las variables donde se vera cuantos billetes se le daran al usuario
int billetes500, billetes100, billetes50, billetes10, monedas1, resto;
//dividimos para ver cuantos billetes de cada tipo hay que darle y utilizamos
//el operado mudulus para ver cual es el resto
billetes500 = sumaDinero / 500;
resto = sumaDinero % 500;
billetes100 = resto / 100;
resto = resto % 100;
billetes50 = resto / 50;
resto = resto % 50;
billetes10 = resto / 10;
resto = resto % 10;
monedas1 = resto / monedas1;
//quitamos los billetes al cajero
suBilletes500 = suBilletes500 - billetes500;
suBilletes100 = suBilletes100 - billetes100;
suBilletes50 = suBilletes50 - billetes50;
suBilletes10 = suBilletes10 - billetes10;
suMonedas1 = suMonedas1 - monedas1;
//mostramos en la pantalla la cantidad de billetes de cada tipo que ha recibido
cout <<"usted ha obtenido " << billetes500 << "billetes de 500 \n";
cout << billetes100 << "billetes de 100 \n";
cout << billetes50 << "billetes de 50 \n";
cout << billetes10 << "billetes de 10 \n";
cout << monedas1 << "monedas de 1 \n";
}
/*=============================================================*/
//creamos los prototipos de las funciones
int hacerMostrarMenu();
void hacerSacarDinero(cajero);
void hacerMostrarDineroTotal(cajero);
void hacerMeterDinero(cajero);
/*=============================================================*/
int main()
{
enum elegir {mostrarMenu = 1, sacarDinero,
mostrarDineroTotal, meterDinero,
salir};
int elegir = mostrarMenu;
int quick = false;
cajero cajero1(100,100,50,100,1000);
while (quick == false)
{
elegir = hacerMostrarMenu();
if (elegir < mostrarMenu || elegir > salir)
{
cout << "la opcion elegida no existe" << endl;
continue;
}
switch (elegir)
{
case sacarDinero:
hacerSacarDinero(cajero1);
break;
case mostrarDineroTotal:
hacerMostrarDineroTotal(cajero1);
break;
case meterDinero:
hacerMeterDinero(cajero1);
break;
case salir:
quick = true;
cout << "saliendo..." << endl;
break;
}
}
system("PAUSE");
return 0;
}
/*======================================================================*/
//creamos los cuerpos de los metodos de las funciones
int mostrarMenu()
{
int elegir;
cout << " ***MENU*** \n";
cout << "(1)saca dinero del cajero \n";
cout << "(2)muestra el dinero total que hay en el cajero \n";
cout << "(3)mete dinero al cajero \n";
cout << "(4)salir del programa \n";
cout << endl << endl;
cout << "elige una opcion \n";
cin >> elegir;
cout << endl;
return elegir;
}
void sacarDinero(cajero cajero1)
{
int cantidadDinero;
cout << "cuanto dinero quieres sacar \n";
cin >> cantidadDinero;
cout << endl << "se le entregara el dinero con losbilletes mas grandes que tenga el cajero \n";
cajero1.sacarDinero(cantidadDinero);
}
void mostrarDineroTotal(cajero cajero1)
{
cout << "el dinero total que esta disponible en el cajero es de " << cajero1.mostrarDineroTotal() << " euros \n";
}
void meterDinero(cajero cajero1)
{
int billetes500, billetes100, billetes50, billetes10, monedas1;
cout << "escribe el numero de billetes de 500 que quieres añadir al cajero ";
cin >> billetes500;
cout << endl << "escribe el numero de billetes de 100 que quieres añadir al cajero ";
cin >> billetes100;
cout << endl << "escribe el numero de billetes de 50 que quieres añadir al cajero ";
cin >> billetes50;
cout << endl << "escribe el numero de billetes de 10 que quieres añadir al cajero ";
cin >> billetes10;
cout << endl << "escribe el numero de monedas de 1 euro que quieres añadir al cajero ";
cin >> monedas1;
cout << endl;
cajero1.meterDinero(billetes500, billetes100, billetes50, billetes10, monedas1);
}
/* ====================== FIN DEL PROGRAMA ======================= */