Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DrKuja en 29 Noviembre 2011, 04:09 am



Título: Ayuda cajero con el do while!!!
Publicado por: DrKuja en 29 Noviembre 2011, 04:09 am

Hola a todos bueno tengo que presentar un cajero para mañana y ya esta casi todo solo tengo un problema con el do-while que me tiene que devolver al inicio.. el problema es que primero cuando se hace el bucle del do while las cantidades vuelven a ser las mismas osea las default que defini al comienzo y no las actuales después me gustaría algún tipo de opción que pueda volver al menú de usuario con todo los valores actualizados si realizo una operación.
Les dejo el código.. y lo mas simple posible porque nos pidió un cajero sin funciones solo con lo mas simple...
GRACIAS!

#include<iostream>
#include<stdio.h>
#include<math.h>
#include<conio.h>
using namespace std;

int b,tarjeta,deposito,saldonuevo,retiro,saldos,contra ,pass,pass2,pass3,cantidad,retiros,repetir;

int saldo=3500;
int saldo2=1000;
int saldo3=200;





int main (void)
{
system("color 0e");

cout<<" * * * "<<endl;
cout<<" * * "<<endl;
cout<<" * | * * * * "<<endl;
cout<<" * -+- * "<<endl;
cout<<" __ | * * * * "<<endl;
cout<<" ___| | * _|_ * ____ ____ "<<endl;
cout<<" [_]|°°|__ _| |_ * | |....| |....| * * "<<endl;
cout<<" | | _|[] []|_ ___ | |....| | ___|__ "<<endl;
cout<<" [_]| °° |__|_ ______| | | |_| |....| || -- - | * * "<<endl;
cout<<" |________ |__ | |# #| |_| |....| || - -- | _____ "<<endl;
cout<<" [_]| _____ | |__[]| | | |_| |....|__|| -- - | |* * *| "<<endl;
cout<<" | [___] | |__ |# #| |_| |....|__|| -- -_|_|* * *| "<<endl;
cout<<" [_]| | °° | | |__| |__|....| || ___|* *|* * *| "<<endl;
cout<<" | _____ | |__ #|_______|....| | |* *|* *|* * *| "<<endl;
cout<<" [_]| [___] | °° |__|_______|__ | | |* *|* *|* * *| "<<endl;
cout<<" | | __|_____________|__ |* *|* *|* * *| "<<endl;
cout<<" [_]| _____ | °° _|___________________|_ |* *|* *|* * *| "<<endl;
cout<<" | [___] | |_______________________| ______________ "<<endl;
cout<<" __|_______|_________|_______________________| _________________ "<<endl;
cout<<" |_________________________________________________ ______________|"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;//62
cout<<" ||||||||||||||||||||||UCSP BANCO UNIVERSAL|||||||||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||CAJERO AUTOMATICO EXPRESS |||||||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||2011||||||||||||||||| |||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;
cout<<" |||||||||Creado por: Juan Manuel Hurtado Valdivia||||||||||||||||"<<endl;
cout<<" |||||||Se aceptan VISA, MASTERCARD Y AMERICAN EXPRESS||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||||SELECCIONE SU TARJETA||||||||||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||||1) MASTERCARD||||||||||||||||||||||||||||||"<< endl;
cout<<" ||||||||||||||||||||||2) VISA||||||||||||||||||||||||||||||||||||"<< endl;
cout<<" ||||||||||||||||||||||3) AMERICAN EXPRESS||||||||||||||||||||||||"<< endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||||SELECCIONE UNA OPCION||||||||||||||||||||||" <<endl;

cin>>tarjeta;
if(tarjeta == 1)
{
cout << "Usted ha escogido MASTERCARD" <<endl;
cout << "Ingrese su password" <<endl;
do
{
cin>>pass;
if (pass!=95959897)
cout<<"Contraseña incorrecta, vuelva a intentarlo!";
}while(pass!=95959897);
system("cls");
repetir = 1;
do
{
cout<<" * * * "<<endl;
cout<<" * * "<<endl;
cout<<" * | * * * * "<<endl;
cout<<" * -+- * "<<endl;
cout<<" __ | * * * * "<<endl;
cout<<" ___| | * _|_ * ____ ____ "<<endl;
cout<<" [_]|°°|__ _| |_ * | |....| |....| * * "<<endl;
cout<<" | | _|[] []|_ ___ | |....| | ___|__ "<<endl;
cout<<" [_]| °° |__|_ ______| | | |_| |....| || -- - | * * "<<endl;
cout<<" |________ |__ | |# #| |_| |....| || - -- | _____ "<<endl;
cout<<" [_]| _____ | |__[]| | | |_| |....|__|| -- - | |* * *| "<<endl;
cout<<" | [___] | |__ |# #| |_| |....|__|| -- -_|_|* * *| "<<endl;
cout<<" [_]| | °° | | |__| |__|....| || ___|* *|* * *| "<<endl;
cout<<" | _____ | |__ #|_______|....| | |* *|* *|* * *| "<<endl;
cout<<" [_]| [___] | °° |__|_______|__ | | |* *|* *|* * *| "<<endl;
cout<<" | | __|_____________|__ |* *|* *|* * *| "<<endl;
cout<<" [_]| _____ | °° _|___________________|_ |* *|* *|* * *| "<<endl;
cout<<" | [___] | |_______________________| ______________ "<<endl;
cout<<" __|_______|_________|_______________________| _________________ "<<endl;
cout<<" |_________________________________________________ ______________|"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;//62
cout<<" ||||||||||||||||||||||UCSP BANCO UNIVERSAL|||||||||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||CAJERO AUTOMATICO EXPRESS |||||||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||2011||||||||||||||||| |||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||Creado por: KUJA HURTADO|||||||||||||||||||||"<<endl;
cout<<"Bienvenido Juan Carlos Loaiza!! " <<endl;
cout << "Su saldo actual disponible es "<<saldo<<" soles." <<endl;
cout << "1. Retirar efectivo" <<endl; //Texto de Peticion
cout << "2. Depositar efectivo" <<endl; //Texto de Peticion
cout << "Que desea hacer elija una opcion:" <<endl;
cin >> b;


if(b == 1)
{
cout << "Usted ha decidido retirar efectivo" <<endl;
cout << "Cuanto dinero desea retirar :" <<endl;
cin >>retiro;
if(retiro%20 == 0)
{
if(retiro>2000)
{
cout<<"Demasiado dinero.. retire dinero multiplos de 20 hasta 2000 solamente"<<endl;
cout << "Gracias por su visita" <<endl;
}

else
{
cout << "Ok procesando.... " <<endl;
saldonuevo=saldo-retiro;
cout << "Su saldo es "<<saldonuevo<<endl;
cout << "Gracias por su visita" <<endl;
}
}
else
{

cout<<" No es Multiplo de 20 "<<endl;
cout<<"\nSaldo actual: "<<saldo<<endl;
cout << "Gracias por su visita" <<endl;
}
}
else

if(b == 2)
{
cout << "Usted ha decidido depositar" <<endl;
cout << "Cuanto dinero desea depositar :" <<endl;
cin >>deposito;
if(deposito>2000)
{
cout<<"Solamente se aceptan depositos hasta 2000 soles "<<endl;
cout << "Gracias por su visita" <<endl;
}
else
{
saldonuevo=saldo+deposito;
cout<<"\nSaldo actual: "<<saldonuevo<<endl;
cout << "Gracias por su visita" <<endl;
}
}
else

if(b == 3)
{
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
else

if(b == 4)
{
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
else
{
if(b == 5)
{
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
else
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}

getch();
}while (repetir == 1);




}



else

if(tarjeta == 2)
{
cout << "Usted ha escogido VISA" <<endl;
cout << "Ingrese su password" <<endl;
do
{
cin>>pass2;
if (pass2!=95959993)
cout<<"Contraseña incorrecta, vuelva a intentarlo!";
}while(pass2!=95959993);
system("cls");
cout<<" * * * "<<endl;
cout<<" * * "<<endl;
cout<<" * | * * * * "<<endl;
cout<<" * -+- * "<<endl;
cout<<" __ | * * * * "<<endl;
cout<<" ___| | * _|_ * ____ ____ "<<endl;
cout<<" [_]|°°|__ _| |_ * | |....| |....| * * "<<endl;
cout<<" | | _|[] []|_ ___ | |....| | ___|__ "<<endl;
cout<<" [_]| °° |__|_ ______| | | |_| |....| || -- - | * * "<<endl;
cout<<" |________ |__ | |# #| |_| |....| || - -- | _____ "<<endl;
cout<<" [_]| _____ | |__[]| | | |_| |....|__|| -- - | |* * *| "<<endl;
cout<<" | [___] | |__ |# #| |_| |....|__|| -- -_|_|* * *| "<<endl;
cout<<" [_]| | °° | | |__| |__|....| || ___|* *|* * *| "<<endl;
cout<<" | _____ | |__ #|_______|....| | |* *|* *|* * *| "<<endl;
cout<<" [_]| [___] | °° |__|_______|__ | | |* *|* *|* * *| "<<endl;
cout<<" | | __|_____________|__ |* *|* *|* * *| "<<endl;
cout<<" [_]| _____ | °° _|___________________|_ |* *|* *|* * *| "<<endl;
cout<<" | [___] | |_______________________| ______________ "<<endl;
cout<<" __|_______|_________|_______________________| _________________ "<<endl;
cout<<" |_________________________________________________ ______________|"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;//62
cout<<" ||||||||||||||||||||||UCSP BANCO UNIVERSAL|||||||||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||CAJERO AUTOMATICO EXPRESS |||||||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||2011||||||||||||||||| |||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||Creado por: KUJA HURTADO|||||||||||||||||||||"<<endl;
cout<<"Bienvenido Juan Manuel Hurtado Valdivia!! " <<endl;
cout << "Su saldo actual disponible es "<<saldo2<<" soles." <<endl;
cout << "1. Retirar efectivo" <<endl; //Texto de Peticion
cout << "2. Depositar efectivo" <<endl; //Texto de Peticion
cout << "Que desea hacer elija una opcion:" <<endl;
cin >> b;
if(b == 1)
{
cout << "Usted ha decidido retirar efectivo" <<endl;
cout << "Cuanto dinero desea retirar :" <<endl;
cin >>retiro;
if(retiro%20 == 0)
{
if(retiro>2000)
{
cout<<"Demasiado dinero.. retire dinero multiplos de 20 hasta 2000 solamente"<<endl;
cout << "Gracias por su visita" <<endl;
}

else
{
cout << "Ok procesando.... " <<endl;
saldonuevo=saldo2-retiro;
if(retiro>saldo2)
cout << "No tiene suficiente dinero para realizar esta operacion "<<endl;
else
{
cout << "Su saldo es "<<saldonuevo<<endl;
cout << "Gracias por su visita" <<endl;
}
}
}
else
{

cout<<" No es Multiplo de 20 "<<endl;
cout<<"\nSaldo actual: "<<saldo2<<endl;
cout << "Gracias por su visita" <<endl;
}
}
else

if(b == 2)
{
cout << "Usted ha decidido depositar" <<endl;
cout << "Cuanto dinero desea depositar :" <<endl;
cin >>deposito;
if(deposito>2000)
{
cout<<"Solamente se aceptan depositos hasta 2000 soles "<<endl;
cout << "Gracias por su visita" <<endl;
}
else
{
saldonuevo=saldo2+deposito;
cout<<"\nSaldo actual: "<<saldonuevo<<endl;
cout << "Gracias por su visita" <<endl;
}
}
else

if(b == 3)
{
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
else

if(b == 4)
{
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
else
{
if(b == 5)
{
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
else
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
getch();

}


else

if(tarjeta == 3)
{
cout << "Usted ha escogido AMERICAN EXPRESS" <<endl;
cout << "Ingrese su password" <<endl;
do
{
cin>>pass3;
if (pass3!=95958574)
cout<<"Contraseña incorrecta, vuelva a intentarlo!";
}while(pass3!=95958574);
system("cls");
cout<<" * * * "<<endl;
cout<<" * * "<<endl;
cout<<" * | * * * * "<<endl;
cout<<" * -+- * "<<endl;
cout<<" __ | * * * * "<<endl;
cout<<" ___| | * _|_ * ____ ____ "<<endl;
cout<<" [_]|°°|__ _| |_ * | |....| |....| * * "<<endl;
cout<<" | | _|[] []|_ ___ | |....| | ___|__ "<<endl;
cout<<" [_]| °° |__|_ ______| | | |_| |....| || -- - | * * "<<endl;
cout<<" |________ |__ | |# #| |_| |....| || - -- | _____ "<<endl;
cout<<" [_]| _____ | |__[]| | | |_| |....|__|| -- - | |* * *| "<<endl;
cout<<" | [___] | |__ |# #| |_| |....|__|| -- -_|_|* * *| "<<endl;
cout<<" [_]| | °° | | |__| |__|....| || ___|* *|* * *| "<<endl;
cout<<" | _____ | |__ #|_______|....| | |* *|* *|* * *| "<<endl;
cout<<" [_]| [___] | °° |__|_______|__ | | |* *|* *|* * *| "<<endl;
cout<<" | | __|_____________|__ |* *|* *|* * *| "<<endl;
cout<<" [_]| _____ | °° _|___________________|_ |* *|* *|* * *| "<<endl;
cout<<" | [___] | |_______________________| ______________ "<<endl;
cout<<" __|_______|_________|_______________________| _________________ "<<endl;
cout<<" |_________________________________________________ ______________|"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;//62
cout<<" ||||||||||||||||||||||UCSP BANCO UNIVERSAL|||||||||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||CAJERO AUTOMATICO EXPRESS |||||||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||2011||||||||||||||||| |||||||||||||||"<<endl;
cout<<" |||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||"<<endl;
cout<<" ||||||||||||||||||||Creado por: KUJA HURTADO|||||||||||||||||||||"<<endl;
cout<<"Bienvenido Antauro Humala!! " <<endl;
cout << "Su saldo actual disponible es "<<saldo3<<" soles." <<endl;
cout << "1. Retirar efectivo" <<endl; //Texto de Peticion
cout << "2. Depositar efectivo" <<endl; //Texto de Peticion
cout << "Que desea hacer elija una opcion:" <<endl;
cin >> b;

if(b == 1)
{
cout << "Usted ha decidido retirar efectivo" <<endl;
cout << "Cuanto dinero desea retirar :" <<endl;
cin >>retiro;
if(retiro%20 == 0)
{
if(retiro>2000)
{
cout<<"Demasiado dinero.. retire dinero multiplos de 20 hasta 2000 solamente"<<endl;
cout << "Gracias por su visita" <<endl;
}

else
{
cout << "Ok procesando.... " <<endl;
saldonuevo=saldo3-retiro;
if(retiro>saldo3)
cout << "No tiene suficiente dinero para realizar esta operacion "<<endl;
else
{
cout << "Su saldo es "<<saldonuevo<<endl;
cout << "Gracias por su visita" <<endl;
}
}
}
else
{

cout<<" No es Multiplo de 20 "<<endl;
cout<<"\nSaldo actual: "<<saldo3<<endl;
cout << "Gracias por su visita" <<endl;
}
}
else

if(b == 2)
{
cout << "Usted ha decidido depositar" <<endl;
cout << "Cuanto dinero desea depositar :" <<endl;
cin >>deposito;
if(deposito>2000)
{
cout<<"Solamente se aceptan depositos hasta 2000 soles "<<endl;
cout << "Gracias por su visita" <<endl;
}
else
{
saldonuevo=saldo3+deposito;
cout<<"\nSaldo actual: "<<saldonuevo<<endl;
cout << "Gracias por su visita" <<endl;
}
}
else

if(b == 3)
{
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
else

if(b == 4)
{
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
else
{
if(b == 5)
{
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
else
cout << "La opcion seleccionada no es valida" <<endl;
cout << "Gracias por su visita" <<endl;

}
getch();

}







else
cout << "La opcion seleccionada no es valida" <<endl;


system("pause");
return 0;

}


Título: Re: Ayuda cajero con el do while!!!
Publicado por: Ferno en 29 Noviembre 2011, 13:23 pm
Primero, todo código que postees, procura utilizar la etiqueta GeSHi (parte superior derecha donde publicas el mensaje, puedes elegir el lenguaje de programación). Así se entiende muy poco!

Segundo, por lo que veo, tus variables jamás cambian de valor porque estás usando diferentes variables desde donde obtener los resultados y donde mostrarlos. Es decir, nunca le asignas a las variables viejas el nuevo resultado! (al depositar o sacar dinero), siempre utilizas la variable "saldonuevo".
Lo que debes hacer es terminar asignando a "saldo" o "cuenta" o la variable que uses para almacenar los datos, la variable "saldonuevo".


Título: Re: Ayuda cajero con el do while!!!
Publicado por: DrKuja en 29 Noviembre 2011, 14:11 pm
Gracias si lo hare para futuros posts...  como asi lo podria asignar a la variable vieja el nuevo resultado osea todo en funcion a saldo? y ya no utilizo saldonuevo?
Gracias  :)


EI: juntando mensajes.

problema resuelto gracias :D


Título: Re: Ayuda cajero con el do while!!!
Publicado por: Ferno en 29 Noviembre 2011, 14:30 pm
Sí, esa es otra manera. Utilizar directamente tu variable saldo, restarle o sumarle a ésta dependiendo de la acción, y no utilizar más "saldonuevo".
Saludos!