jueves, diciembre 17, 2015

Intento de Cajero en C++

A ver si me ayudan a mejorarlo gracias

#include <stdlib.h>
#include <iostream>
#include <windows.h>
using namespace std;

double saldo(double total)
{
cout<<endl;
if (total==0)
cout<<"Ud. no tiene saldo en su cuenta"<<endl<<endl;
else
cout<<"Su saldo es de: "<<total<<endl;
return total;
}

void fin()
{
cout<<endl<<"Gracias por usar este cajero, vuelva pronto."<<endl<<endl;
}

double deposito(double total)
{
double dep=0;
cout<<endl;
do
{
cout<<"Ingrese la cantidad que desea depositar: ";
cin>>dep;
if(dep>0)
{
total=total+dep;
cout<<"Su nuevo saldo es de: "<<total<<endl;
}
else
cout<<"Ingrese una cantidad valida"<<endl<<endl;
}while (dep<=0);
return total;
}

double retiro(double total)
{
double ret=0;
cout<<endl;
if(total==0)
cout<<"Ud. no tiene saldo que pueda retirar"<<endl;
else
do
{
cout<<"Ingrese la cantidad que desea retirar: ";
cin>>ret;
if(ret>0)
{
total=total-ret;
cout<<"Su nuevo saldo es de: "<<total<<endl;
}
else
cout<<"Ingrese una cantidad valida"<<endl<<endl;
}while (ret<=0);
return total;
}

int menu(double total)
{
//agregar color primero es el fondo y luego el texo
// 1 = Azul 2 = Verde 3 = Aguamarina 4 = Rojo 5 = Purpura 6 = Amarillo 7 = Blanco 8 = Gris 9 = Azul claro
// A = Verde claro B = Aguamarina claro C = Rojo claro D = Purpura claro E = Amarillo claro F = Blanco brillante
system ("color F1" );
//declaracion de variables
char ingreso;
int dni, clave;
system("CLS");
cout<<"\n\n\t\t================================================="<<endl;
cout<<"\t\t                  BANCO INTERPERU        "<<endl;
cout<<"\t\t           Vesion 1.0 por Percy Vilela "<<endl;
cout<<"\t\t================================================="<<endl;
cout<<"\n"<<endl;
cout<<"                        Bienvenido al cajero INTERPERU \n\n\n"<<endl;
cout<<"-----------------------------------------------------------"<<endl;
cout<<" Digite [C]Continuar para que pueda Ingresar su tarjeta : ";
cin>>  ingreso ;

cout<<"-----------------------------------------------------------";
cout<<"\n";
cout<<" Una vez insertada su tarjeta ingrese la clave : ";
cin>> clave;
cout<<"-----------------------------------------------------------"<<endl;

if (clave==123){
cout<<" Clave correcta";
}
else
{
cout<<" Clave Incorrecta";
return 0;
}
cout<<" Por favor Ingresa tu DNI : ";
cin>> dni;

if (dni==44448888){
cout<<" DNI correcto"<<endl;
}
else
{
cout<<" DNI Incorrecta, vuelva a intentarlo : ";
cin>> dni;
if (dni==44448888)
{
cout<<" DNI correcto"<<endl;
}
else{
cout<<" DNI Incorrecta, vuelva a intentarlo : ";
cin>> dni;
if (dni==44448888)
{
cout<<" DNI correcto"<<endl;
}else{
cout<<" DNI Incorrecto, numero de intentos excedido"<<endl;
cout<<"----- SU TARJETA SERA RETENIDA -----";
return 0;
}
}
}
int opcion;
cout<<"---------------MENU DEL CAJERO---------------"<<endl;
cout<<"---------------------------------------------"<<endl<<endl;
cout<<"Depositar dinero...........................(1)"<<endl;
cout<<"Retirar dinero.............................(2)"<<endl;
cout<<"Consulta de saldo..........................(3)"<<endl;
cout<<"Salir / Exit...............................(4)"<<endl;
cout<<endl<<"Elija la transaccion que desea realizar: ";
cin>>opcion;
return opcion;
}

double proceso(int opcion,double total)
{
switch (opcion)
{
case 1:total=deposito(total);break;
case 2:total=retiro(total);break;
case 3:total=saldo(total);break;
case 4:cout<<endl<<"Ud. ha salido del sistema"<<endl<<endl;return (0);
default: {
cout<<"Ingrese un valor correcto"<<endl;
menu(total);
}
}
return total;
}

int main()
{
double total=0;
int opcion, a;
char c;
do
{
cout<<endl<<endl;
opcion=menu(total);
total=proceso(opcion,total);
do
{
cout<<endl;
cout<<"Desea realizar alguna otra transaccion (S)(N): ";
cin>>c;
a=0;
switch(c)
{
case 's':
case 'S':a=2;break;
case 'n':
case 'N':break;
default: cout<<endl<<"Ingrese un valor correcto"<<endl;a=1;
}
} while (a==1);
} while (a==2);
fin();
return 0;
}