Datos de salida:
1. El sistema debe permitir listar todas las cuentas con su saldo
2. Cada movimiento debe quedar registrado, el sistema debe permitir mostrar todos los
movimientos de una cuenta en particular (se debe buscar por nmero o cdula)
3. El sistema debe permitir listar todas las cuentas con su saldo
2. ESTRUCTURAS DE DATOS
Defina las estructuras en las que se almacenarn los datos, y su cdigo respectivo.
Nombre Descripcin Tipo de datos
listado[] Contiene todos los registros Cuenta
Facultad de Ingeniera
Programa de Ingeniera de Sistemas
Programacin I
Semana 4
de las cuentas
Nombre Nombre del titular de la Char
cuenta
numeroCuenta Nmero de la cuenta de Char
ahorros
Cedula Cedula del titular Char
saldo Saldo disponible en la Double
cuenta
Estado Estado de cuenta char
3. REQUERIMIENTOS FUNCIONALES
RF1: Crear cuenta de ahorros
void registrarCuenta(){
fflush(stdin);
cout<<"\nDIGITE EL NUMERO DE CUENTA: ";
gets(listado[indice].numeroCuenta);
fflush(stdin);
cout<<"\nDIGITE EL NUMERO DE CEDULA: ";
cin>>listado[indice].cedula;
fflush(stdin);
cout<<"\nDIGITE NOMBRE DEL CLIENTE: ";
gets(listado[indice].nombre);
listado[indice].estado = 'A';
indice++;
}
if(strcmp(listado[i].numeroCuenta, numeroCuentaBuscada)==0){
if(listado[i].estado == 'C'){
listado[i].estado = 'A';
return 1;
}
else{
return -1;
}
}
}
return 0;
}
RF3: Cerrar cuenta
int cerrarCuenta(char numeroCuentaBuscada[15]){
if(strcmp(listado[i].numeroCuenta, numeroCuentaBuscada)==0){
if(listado[i].estado == 'A'){
listado[i].estado = 'C';
return 1;
}
else{
return -1;
}
}
}
return 0;
}
4. REQUERIMIENTOS INSTRUCCIONALES
void menu(char respuesta){
case '1':
registrarCuenta();
break;
case '2':
char cuentaBuscada[30], abreOcierra;
do{
cout<<"\nDESEA ABRIR(A) O CERRAR(B) LA CUENTA?\n->";
cin>>abreOcierra;
system("CLS");
}while(abreOcierra !='A' && abreOcierra !='a' && abreOcierra !='c' &&
abreOcierra !='C');
if(abreOcierra=='A' || abreOcierra=='a'){
fflush(stdin);
cout<<"\nDIGITE EL NUMERO DE CUENTA QUE DESEA ABRIR\n->";
gets(cuentaBuscada);
switch(abrirCuenta(cuentaBuscada)){
case -1:
cout<<"\nESTA CUENTA YA ESTABA ABIERTA";
break;
Facultad de Ingeniera
Programa de Ingeniera de Sistemas
Programacin I
Semana 4
case 1:
cout<<"\nLA CUENTA HA CAMBIADO DE ESTADO A ABIERTA
(A)";
break;
case 0:
cout<<"\nNO EXISTE ESE NUMERO";
break;
}
}else {
fflush(stdin);
cout<<"\nDIGITE EL NUMERO DE CUENTA QUE DESEA ABRIR\n->";
gets(cuentaBuscada);
switch(cerrarCuenta(cuentaBuscada)){
case -1:
cout<<"\nESTA CUENTA YA ESTABA CERRADA";
break;
case 1:
cout<<"\nLA CUENTA HA CAMBIADO DE ESTADO A
CERRADA (C)";
break;
case 0:
cout<<"\nNO EXISTE ESE NUMERO";
break;
}
break;
case '3':
break;
case '4':
Facultad de Ingeniera
Programa de Ingeniera de Sistemas
Programacin I
Semana 4
break;
case '5':
break;
}
}