[Ayuda] Cajero automatico en C++

Iniciado por Lobialkon, 24 Octubre 2011, 21:37 PM

0 Miembros y 1 Visitante están viendo este tema.

Lobialkon

Estuve trabajando con un compañero en un cajero automatico para un proyecto, pero se me complico y no se como seguir.

Aqui esta la consigna de trabajo (para que entiendan de que se trata)


Citar

Se desea modelar un programa que guarde los datos de un cajero electrónico. El
cajero tiene una lista de cuentas, cada cuenta tiene un número único y contraseña. Los número de
cuenta se asignan automáticamente al crear la cuenta y el usuario le asigna la contraseña. Cada cuenta
tiene asociada un saldo el cual se puede incrementar si existe un depósito o decrementar si existe un
retiro. Se debe llevar un registro de cada movimiento guardando la fecha, la cuenta, el tipo de
movimiento y el valor.
Además el cajero comienza el ejercicio con un monto de 100 billetes de mil, 100 billetes de quinientos,
100 billetes de doscientos, 100 billetes de cien. A cada retiro debe darle al cliente el cambio con la
menor cantidad de billetes posibles.

Se desea saber:
1. lista de cuentas con su saldo
2. cuenta con mayor saldo
3. cuenta con mayor cantidad de movimientos
4. movimientos por día
5. cantidad de movimientos en un rango de días
6. Movimientos por cliente
7. movimientos por cliente en una fecha dada
8. Se debe guardar en archivos los datos de las cuentas y sus movimientos.

El programa debe controlar
1. Se asignen automáticamente la clave de cada cuenta.
2. Que no existan dos cuentas con el mismo número.
3. Que un cliente no pueda realizar un retiro mayor al saldo.
4. Las fechas deben ser validas.





Aqui el codigo que tenemos el cual estuvimos trabajando.




#include <iostream>
#include <stdio.h>
#include <process.h>
#include <conio.h>
#include <stdlib.h>

using namespace std;

typedef struct{

int numero_de_cuenta;
int contrasenia;
int saldo;
}Cuenta;

typedef struct{
       
   Cuenta lista [5];
   int tope;
   int monto_inicial;
}Lista_de_cuentas;





int asignar_numero_de_cuenta(){}
   
   

int nueva_cuenta(){}
   
bool cargarCuentas(Lista_de_cuentas &lc) {
    FILE * f;
    f=fopen("misDatos.txt", "rb");
    if(f!=NULL){
                fread(&lc, sizeof(lc), 1, f);
                fclose(f);
                return true;
    }
    else
        return false;
   
   
}  

int main()

{  int comprobar_cuenta;
  int  comprobar_contrasenia;
  Lista_de_cuentas lc;
  lc.tope=0;
 
  int opcion;
  bool opcion_valida = false;
  if (!cargarCuentas(lc))
     cout << "Error en el sistema" << endl;
  else
      {
       while(! opcion_valida){
            cout << "1) Ingresar.\n\n"
            << "2) Crear nueva cuenta.\n\n"
            << "(*) Digite el numero de la opcion,luego presione la tecla ENTER\n\n" << endl;
            cin >> opcion;
            system("cls");
            switch(opcion){  
                      case 1:
                           cout << "Ingrese numero de cuenta"
                           <<"Ingresar contrasenia" << endl;
                           cin >> comprobar_cuenta;
                           cin >> comprobar_contrasenia;
                           if( lc.lista [comprobar_cuenta -1].contrasenia == comprobar_contrasenia)
                           
                           
                                while(! opcion_valida){
                                                 
                                                  cout << "1) Realizar deposito.\n\n"
                                                  << "2) Realizar retiro.\n\n"
                                                  << "3) Verificar saldo.\n\n"
                                                  << "(*) Digite el numero de la opcion,luego presione la tecla ENTER\n\n" << endl;
                             
                                                  cin >> opcion;
                                                  system("cls");
                                                  switch(opcion){
                                                                 case 1:
                                                     
                                                                 opcion_valida = true;
                                                                 break;
                                                     
                                                                 case 2:
                                                     
                                                                 opcion_valida = true;
                                                                 break;
                                                     
                                                                 case 3:
                                                     
                                                                 opcion_valida = true;
                                                                 break;
                                               
                                                                 default:
                                                                         cout << "Opcion invalida" << endl;
                                               
                                               
                                               
                                                                               };
                                      else
                                           cout<< "Cuenta inexistente" <<endl;
                                                       
                                                opcion_valida = true;
                                                break;
                                                                             }
                     
                      case 2:
                           
                              cout << "Se le ha asignado el numero de cuenta:" << endl;
                              cout << "Ingrese una nueva contrasenia de 6 caracteres" << endl;
                             
                           opcion_valida = true;
                           break;
                     
                     
                      default:
                              cout << "Opcion invalida" << endl;
                              }
                              }
   

 
     
   
  system("pause");
   return 0;

}

}






No estoy pidiendo que me lo hagan, solo pido si alguien me puede brindar alguna ayuda. Saludos y muchas gracias


PD: Utilice las citas y el code ya que no pude usar un spoiler

eduardo1012

Deberias empezar por hacer paso por paso.
Por cierto el else va fuera del switch.
Mas tarde lo veo