Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con Cajero automatico en c++

Estas en el tema de Ayuda con Cajero automatico en c++ en el foro de C/C++ en Foros del Web. Hola ando haciendo un programa que simule hacer las funciones de un cajero automatico que permita el manejo de clientes con sus respectivos pin y ...
  #1 (permalink)  
Antiguo 12/06/2009, 17:16
 
Fecha de Ingreso: junio-2008
Ubicación: Guatemla
Mensajes: 31
Antigüedad: 16 años, 5 meses
Puntos: 0
Ayuda con Cajero automatico en c++

Hola ando haciendo un programa que simule hacer las funciones de un cajero automatico que permita el manejo de clientes con sus respectivos pin y que almacene sus saldos..
pero me he estancado tengo un archivo txt, en donde ya esta el pin de los usuarios, nombre y su saldo inicial, adjunto el enlace para descargar el archivo txt creado para que puedan observarlo de una mejor manera, y ahi veran que la tercera columna muestan los datos del saldo inicial, pero elproblema es el siguiente

Los depositos y retiros tienen que hacer una suma y resta respectivamente en la columna tres y que el nuevo resultado se sobre escriba en dicha columna asi que si el saldo inicial es 3000 y se hace un deposito de 2000 el saldo en una proxima secion iniciaria en 500 etc.
bueno sin mas rodeos paso a mostrarles el codio
Código:
#include <iostream.h>;
#include <conio.h>;
#include <fstream.h>;
#include <stdlib.h>;
#include <stdio.h>;


int Ver(int Cliente, int Lugar);
int Cursor(int Cliente,int Lugar);
int PinAInteger(int Cliente);
int deposito;
int Retiro;

fstream leerArchivo;
bool Validado=false;

int main () {
 	leerArchivo.open("Archivo.txt", ios::in | ios::out | ios::binary);
   if(!leerArchivo) {
   	cout<<"No se puede crear el documento.  Presione una tecla para regresar al menu";
      getch();
      return 0;
	}
   int Op,NumUsuario;
   PinAInteger(0);
   do {
   	clrscr();
      cout<<"\n 	\t bienbenidos al banco\n\n";
      cout<<"\n1. Ingrear Pin";
      cout<<"\n2.	Consultar Saldo";
      cout<<"\n3.	datos personales";
      cout<<"\n4. Retiros";
      cout<<"\n5. depositos";
      cout<<"\n6.	Salir \b\n";
      cin>>Op;

      if (Op==1) {

         int PinxUsuario;
         cout<<"\nPor favor ingrese su PIN\n";
         cin>>PinxUsuario;



         int Pin;
      	for (int i=0; i<100; i++) {
            Pin=PinAInteger(i);
         	if (PinxUsuario==Pin){
            	cout<<"Gracias por su preferencia, su pin a sido Validado \n precione una tecla y ahora puede escojer alguna de las otras opciones";
               getch();
               NumUsuario=i;
               i=100;
               Validado=true;
            }
            cout<<PinAInteger;

      }



		}
      if (Op==2) {
      	if (Validado==false) {
         	cout<<"Para consultar su saldo debe primero ingresar el Pin en la opción 1 del menu";
            getch();
         } else {
         	cout<<"Su cuenta actualmente tiene la cantidad de Q";
         	Ver(NumUsuario,3);
            getch();
         }

      }
      if (Op==3) {
      	if (Validado==false) {
         	cout<<"Para ver sus datos personales debe primero ingresar el Pin en la opción 1 del menu";
            getch();
         } else {
         	cout<<"El nombre con el cual tiene registra una cuenta en nuestro banco es: ";
         	Ver(NumUsuario,2);
            getch();
         }
      }

    //aka es donde no se como hacer para que si hago un retiro reste a la linea 3 que es el dato inicial del clientey que lo guarde
    //seria deposito + NumUsuario,3) y que quede quede guardado en el archivo de texto
     if (Op==4) {
      	if (Validado==false) {
         	cout<<"Para Realizar retiros debe primero ingresar el Pin en la opción 1 del menu";
            getch();
         } else {
         	cout<<"cuanto desea retirar \n";
            cin>>Retiro;
            cout<<"Transacion exitosa Su nuevo saldo es Q.";
            Ver(NumUsuario,3);
            getch();
         }

      }
   
    //aka es donde no se como hacer para que si hago un deposito sume a la linea 3 que es el dato inicial del clientey que lo guarde
    //seria deposito + NumUsuario,3) y que quede quede guardado en el archivo de texto
     if (Op==5) {
      	if (Validado==false) {
         	cout<<"Para Realizar depositos debe primero ingresar el Pin en la opción 1 del menu";
            getch();
         } else {
         	cout<<"cuanto desea depositar \n";
            cin>>deposito;
            cout<<"Transacion exitosa Su nuevo saldo es Q.";
            Ver(NumUsuario,3);
            getch();
         }

      }
   } while (Op!=6);

}



int PinAInteger(int Cliente) {
	int Temporal;
	char PinStr[7];
   int Pin;

	Temporal=Cursor(Cliente,1);
   leerArchivo.seekg(Temporal, ios::beg);
   leerArchivo.read(PinStr,5);
   Pin=atoi(PinStr);
   return Pin;
}






int Cursor(int Cliente,int Lugar) {
	int Pos;
	if (Cliente==0) {
   	Pos=0;
   } else {
   	Pos=58*Cliente;
   }
   if (Lugar==2)
   	Pos=Pos+14;
   if (Lugar==3)
   	Pos=Pos+49;

//   cout<<Pos;
   return Pos;
}


int Ver(int Cliente, int Lugar) {
	int Temporal,Cant;
   char chrVariable[1];
   Temporal=Cursor(Cliente,Lugar);

   if (Lugar==1) Cant=4;
   if (Lugar==2) Cant=25;
   if (Lugar==3) Cant=7;
  

   for (int i=0;i<Cant;i++) {
			leerArchivo.seekg(Temporal+i,ios::beg);

      	leerArchivo.read(chrVariable,1);
      	cout<<chrVariable[0];

      }
   return 0;
}
el enlace del archivo es el siguiente rapidshare.com/files/243894939/Archivo.txt.html (tube que enviar el enlace de esta forma porque dice que como soy nuevo no tengo los privilegios de los antiguos "descriminacion"

espero con ansias su ayuda solo me quena horas para terminarlo jejej eso me pasa por dejarlo a ultima hora

posdata: como soy nuevo aca no se cuantos temas puede tener uno habierto, ya que yo tengo ya uno pero es de diferente tema casi, y no vi donde podia ponerlo como tema cerrado asi que no quiero molestar a nadie
  #2 (permalink)  
Antiguo 12/06/2009, 17:27
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 11 meses
Puntos: 68
Respuesta: Ayuda con Cajero automatico en c++

y el problema cual es exactamente?
__________________
No diseñes usando tablas.
  #3 (permalink)  
Antiguo 12/06/2009, 18:48
 
Fecha de Ingreso: junio-2008
Ubicación: Guatemla
Mensajes: 31
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Ayuda con Cajero automatico en c++

Cita:
Iniciado por hades87 Ver Mensaje
y el problema cual es exactamente?
como hago la funcion que guarde y sobre escriba en el deposito y el retiro
descarga el archivo xt que puse rapidshare.com/files/243894939/Archivo.txt
rapidshare.com/files/243894939/Archivo.txt
rapidshare.com/files/243894939/Archivo.txt
y correro con el codigo y veras que si le doy un deposito o hago un retiro no lo guarda.

si se peude mii correo es [email protected] estoy en el msn
  #4 (permalink)  
Antiguo 13/06/2009, 16:08
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 11 meses
Puntos: 68
Respuesta: Ayuda con Cajero automatico en c++

Para empezar no voy ni a bajarme el fichero ni a manda mail a nadie, en estos foros se trata de compartir conocimiento.

Lo que tendrías que hacer es guardar el fichero en una variable, o en distintos arrays y luego modificar con los nuevos valores y guardarlos en el fichero.
__________________
No diseñes usando tablas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:49.