Código C++ – Simulación de un Cajero

Ejemplo 1:

// Codificado por: Beastieux
// Operaciones Bancarias

#include<iostream>
using namespace std;

double saldo(double retiro, double deposito, double saldot) {
    saldot = saldot + deposito - retiro;
    return saldot;
}

double deposit(double saldot) {
    double dep = 0;
    char sn;
    do {
        system("clear");
        cout << "Ingrese cantidad a Depositar: ";
        cin >> dep;

        while (dep <= 0) {
            cout << "Desea ingresar un valor valido s/S n/N: ";
            cin >> sn;
            if (sn == 'S' || sn == 's') {
                system("clear");
                cout << "Ingrese cantidad a Depositar: ";
                cin >> dep;
            } else {
                exit(0);
            }
        }
        saldot = saldo(0, dep, saldot);
        cout << "Desea realizar otro deposito s/S n/N: ";
        cin >> sn;
    } while (sn == 's' || sn == 'S');

    return saldot;
}

double retiro(double saldot) {
    double retir = 0;
    char sn;
    system("clear");
    if (saldot == 0) {
        cout << "Ud. no cuenta con saldo." << endl;
        cout << "Desea realizar otra operación s/S n/N: ";
        cin >> sn;
        if (sn == 'S' || sn == 's') {
            system("clear");
            main();
        } else {
            exit(0);
        }
    }

    do {
        system("clear");
        cout << "Ingrese cantidad a Retirar: ";
        cin >> retir;

        while (saldot < retir) {
            cout << "Ud. no cuenta con saldo suficiente para hacer ese retiro." << endl;
            cout << "Desea ingresar un valor valido s/S n/N: ";
            cin >> sn;
            if (sn == 'S' || sn == 's') {
                system("clear");
                cout << "Ingrese cantidad a Retirar: ";
                cin >> retir;
            } else {
                exit(0);
            }
        }

        while (retir <= 0) {
            cout << "Desea ingresar un valor valido s/S n/N: ";
            cin >> sn;
            if (sn == 'S' || sn == 's') {
                system("clear");
                cout << "Ingrese cantidad a Retirar: ";
                cin >> retir;
            } else {
                exit(0);
            }
        }

        saldot = saldo(retir, 0, saldot);
        cout << "Desea realizar otro retiro s/S n/N: ";
        cin >> sn;
    } while (sn == 's' || sn == 'S');

    return saldot;
}

double Option(int option1, double saldot) {
    switch (option1) {
    case 1:
        saldot = deposit(saldot);
        break;
    case 2:
        saldot = retiro(saldot);
        break;
    case 3:
        system("clear");
        cout << "Usted cuenta con: " << saldot << " dólares." << endl;
        break;
    case 4:
        system("clear");
        cout << "Cerrando Sistema..." << endl;
        exit(0);
        break;
    }

    return saldot;
}

int main() {
    int opt;
    char sn;
    double saldot = 0;

    do {
        system("clear");
        cout << "\t\t\tOperaciones Bancarias\n";
        cout << "1. Deposito\n";
        cout << "2. Retiro\n";
        cout << "3. Saldo\n";
        cout << "4. Salir\n\n";
        cout << "Elija el número de la opción: ";
        cin >> opt;
        saldot = Option(opt, saldot);
        cout << "Desea continuar con otra operación s/S n/N: ";
        cin >> sn;
    } while (sn == 's' || sn == 'S');

    system("clear");
    cout << "Cerrando Sistema..." << endl;
    exit(0);

    return 0;
}

Ejemplo 2:

#include <iostream>
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 válida" << 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) {
                if (ret <= total) {
                    total = total - ret;
                    cout << "Su nuevo saldo es de: " << total << endl;
                } else
                    cout << "Ud. no tiene saldo suficiente para hacer ese retiro" << endl;
            } else
                cout << "Ingrese una cantidad válida" << endl << endl;
        } while (ret <= 0);
    return total;
}

int menu(double total) {
    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 transacción 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;
        exit(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 transacción (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;
}

Ejemplo 3:

#include <iostream>
using namespace std;

double saldo(double retiro, double deposito, double saldot) {
    system("cls");
    saldot = saldot + deposito - retiro;
    return saldot;
}

double deposit(double saldot) {
    double dep = 0;
    char sn;
    do {
    LDeposito:
        system("cls");
        cout << "Ingrese cantidad a Depositar: ";
        cin >> dep;
        while (dep <= 0) {
            cout << "Desea ingresar un valor valido s/S n/N: ";
            cin >> sn;
            if (sn == 'S' || sn == 's')
                goto LDeposito;
            else
                exit(0);
        }
        saldot = saldo(0, dep, saldot);
        cout << "Desea realizar otro deposito s/S n/N: ";
        cin >> sn;
    } while (sn == 's' || sn == 'S');
    return saldot;
}

double retiro(double saldot) {
    double retir = 0;
    char sn;
    system("cls");
    if (saldot == 0) {
        cout << "Ud. no cuenta con saldo" << endl;
        cout << "Desea realizar otra operacion s/S n/N: ";
        cin >> sn;
        if (sn == 'S' || sn == 's') {
            system("cls");
            main();
        } else
            exit(0);
    }
    do {
    LRetir:
        system("cls");
        cout << "Ingrese cantidad a Retirar: ";
        cin >> retir;
        while (saldot < retir) {
            cout << "Ud. no cuenta con saldo suficiente para hacer ese retiro" << endl;
            goto reintentar;
        }
        while (retir <= 0) {
        reintentar:
            cout << "Desea ingresar un valor valido s/S n/N: ";
            cin >> sn;
            if (sn == 'S' || sn == 's')
                goto LRetir;
            else
                exit(0);
        }
        saldot = saldo(retir, 0, saldot);
        cout << "Desea realizar otro retiro s/S n/N: ";
        cin >> sn;
    } while (sn == 's' || sn == 'S');
    return saldot;
}

double Option(int option1, double saldot) {
    switch (option1) {
    case 1:
        saldot = deposit(saldot);
        break;
    case 2:
        saldot = retiro(saldot);
        break;
    case 3: {
        saldot = saldo(0, 0, saldot);
        cout << "Usted cuenta con: " << saldot << " dolares" << endl;
    }
    break;
    case 4: {
        system("cls");
        cout << "Cerrando Sistema..." << endl;
        exit(0);
    }
    break;
    }
    return saldot;
}

int main() {
    int opt;
    char sn;
    double saldot = 0;
    do {
        system("cls");
        cout << "\t\t\tOperaciones Bancarias\n";
        cout << "1. Deposito\n";
        cout << "2. Retiro\n";
        cout << "3. Saldo\n";
        cout << "4. Salir\n\n";
        cout << "Elija el numero de la opcion: ";
        cin >> opt;
        saldot = Option(opt, saldot);
        cout << "Desea continuar con otra operacion s/S n/N: ";
        cin >> sn;
    } while (sn == 's' || sn == 'S');
    system("cls");
    cout << "Cerrando Sistema...\n";
    exit(0);
    return 0;
}

Pueder ir al artículo principal:

Códigos Sencillos hechos en C++

21 thoughts on “Código C++ – Simulación de un Cajero

  1. hola como realizo este programa REALICE UN PROGRAMA EN C++ QUE SIMULE UN CAJERO AUTOMÁTICO, (RECUERDE QUE SOLO PODRÁ INGRESAR 3 VECES LA CLAVE) Y MUESTRE Y EJECUTE LAS OPCIONES DEPÓSITO, RETIRO , SALDO, SALIR.

    1. {
      // en las comillas colocas la contraseña a colocar
      const char CONTRASENA[] =”>>>>contraseña<<<";
      const int numIntentos =3;
      int i;
      char contrasena[100];
      for (i=0; i<numIntentos; i++)
      {
      cout<<" ———————————–"<<endl;
      printf(" INGRESE CONTRASEÑA:\n ");
      scanf("%s", contrasena);
      cout<<" ———————————–\n"<<endl;
      if (strcmp(CONTRASENA, contrasena) != 0)
      {
      cout<<" ———————————–\n"<<endl;
      printf("\t ***** CONTRASEÑA INCORRECTA *****\n");
      cout<<" ———————————–"<<endl;
      continue;
      }
      cout<<" ——————————————"<<endl;
      printf("\n *** ACCEDIENDO A SISTEMA BANCARIO ***\n");
      cout<<" ——————————————"<<endl;
      break;
      }
      if (i == numIntentos) {
      printf("\nPrograma no ejecutado.\n");
      return 1;
      }
      printf("\n CARGANDO ESPERE …\n");
      //programa
      getch();
      }

  2. EN el ejemplo 2 el programa entra en un buque infinito cuando insertas por error , la cantidad a ingresar al igual que al retirar, una letra, en concreto la “w” ejejeje.

  3. Los bancos no se manejan con C ni con C++, ellos usan COBOL, un lenguaje de programacion tan rudo y obsoleto, que es imposible de buscarle fallos, les conviene por su seguridad ser prehistoricos,

    d

Deja un comentario