Facultad de Ingeniería

Programa de Ingeniería de Sistemas
Programación I
Semana 4

CASO DE ESTUDIO: Cajero automático
1. ENUNCIADO
En los cajeros automáticos podemos realizar varias funciones ya sea retirar dinero, revisar
estado de cuenta o transferir o pagar cierto tipo de cuenta, Además en algunos casos
podemos introducir cheques o incluso dinero. Estas funciones no se realizan en un orden
preestablecido, sino que el usuario decide al momento de utilizar el cajero que opción
desea tomar.
El algoritmo debe primero pedir la cedula del usuario y la clave, que es un número de 4
cifras. El algoritmo revisa si tiene ese cliente con una cuenta si existe y sus claves
concuerdan el sistema pasara a un menú de opciones.
El cajero luego le permite al usuario realizar las siguientes opciones, teniendo en cuenta
que un cliente bancario puede tener dos cuentas (Ahorros y Corriente):
1. Retirar dinero: para retirar dinero el cajero pregunta de que cuenta desea debitarlo.
Luego, el cajero debe mostrar la opción de retirar 100000, 200000 o 500000, o darle
la opción de retirar otro monto distinto (Este monto debe ser múltiplo de 10).
2. Cambiar cheque bancario: el sistema debe pedir al usuario el valor total del cheque
y agregárselo a alguna de las cuentas.
3. Mirar estado de cuentas: el cajero muestra el monto actual de sus cuentas.
El cajero debe permitir el ingreso a varios clientes y a un cliente en particular realizar
cuantas opciones desee.

2. ESTRUCTURAS DE DATOS
Lo primero que deben tener es una matriz de 4X10, en la cual se guardaran la cedula, la
clave, el saldo de la cuenta de ahorros y el saldo de la cuenta corriente.

float clientes[10][4]={{1034567894, 1234, 200000, 150000},
{73465829, 4080, 1300000, 1500000},
{1020346855, 2015, 400000, 260000},
{46372891, 5897, 550000, 1340000},
{93456789, 5311, 600000, 840000},
{1143785999, 1000, 1200000, 690000},
{72894038, 7854, 400000, 190000},
{1010222364, 3698, 300000, 1560000},
{1143567283, 2458, 650000, 132000},
{1020436789, 7896, 780000, 320000}};

. ww=1.. menu(). cout<<endl<<"2. cout<<endl<<"3. cin>>clave. 1) cout<<"Ingrese el numero de cedula: ". cout<<"Ingrese su clave: ". Retirar dinero". i<10. i++){ if (cedula==clientes[i][0] && clave==clientes[i][1]){ pas=clientes[i][2]. ww=0."<<endl. cout<<endl<<"Cargando. REQUERIMIENTOS FUNCIONALES Defina los requerimientos funcionales del caso con su respectivo código. pas2=clientes[i][3]. RF2: El usuario elige cual de las opciones desea ejecutar RF3: El usuario elige la cuenta bancaria RF4: El programa realiza la opción que elija el usuario 4. cout<<endl<<"1. cin>>cedula. Consultar estado de cuenta". cout<<"-> ". cout<<"-> ". RF1: Revisar que la cedula y clave del cliente concuerda con algún cliente existente. Cambiar cheque". for(int i=0.. } } if (ww==0){ cout<<endl<<"Verifique que haya escritos los datos correctamente"<<endl } 2) cout<<endl. cout<<endl<<"MENU DE OPCIONES:"<<endl. Facultad de Ingeniería Programa de Ingeniería de Sistemas Programación I Semana 4 3. REQUERIMIENTOS INSTRUCCIONALES Defina cada una de las siguientes etapas con su respectivo código.

cout<<endl<<"1.. Análisis. Casos de prueba (Entrada y salida) ENTREGABLES ● Código fuente //Adicione los comentarios al código fuente . Cuenta de ahorros"<<endl. cout<<"-> ". Facultad de Ingeniería Programa de Ingeniería de Sistemas Programación I Semana 4 cout<<endl<<"4. Salir"<<endl. Cuenta corriente"<<endl. Pruebas: Después de codificar las actividades y/o procesos en la herramienta computacional seleccionada. es necesario realizar la debidas pruebas que garanticen el correcto funcionamiento del programa construido bajo un conjunto de situaciones posibles a las que se pueda enfrentar. 3) cout<<endl<<"Cargando."<<endl. diseño e Implementación: B. cout<<endl<<"SELECIONE LA CUENTA:"<<endl.. cout<<"2. Salir"<<endl. A. cout<<"3.