Este es un ejercicio propuesto en clase sobre el funcionamiento de un cajero con n clientes
Actualizado!!!
Para visualizar mejor este codigo clik aqui.
- /*EJERCIO PARCIAL(CAJERO AUTOMATICO)
- Se debe partir de la existencia de una base de datos de clientes identificados por un login una
- contraseña y un sueldo en pesos, por lo tato se deben almacer los datos de al menos 100
- clientes(todos los datos son numericos y enteros ).
- 1.Se debe implementar una funcion que valide login y contraseña. La funcion recibe la base de
- datos, el tamaño,el login y la contraseña digitados por el usuario, los verifica contra la base de
- datos para luego retornar 1 que indica la validacion exitosa de datos, o un 0 que indica el ingreso
- delogin o contraseña incorrectos.
- 2. Se debe implementar una funcion que permita modificar la contraseña.la funcion recibe la base
- de datos, el tamaño, y el login, pide la contraseña nueva realiza la modificacio en la base de
- datos.
- 3.Se debe implementar una funcion que permita realizar una operacion de retiro o consignacion
- en la cuenta. La funcion recibe la base de datos, el tamaño el login, el tipo de operacion a realizar
- y el valor de la transaccion, realizando la modificacion correspondiente en la base de
- datos(sumarle o restarle al sueldo) y retornando para el caso del retiro o la consignacion un 1 si
- fue posible de realizar, o para el caso del retiro un 0 si no fue posible.
- Es necesario contruir el programaprincipal que
- -Permita ingresar los datos iniciales,segun la cantidas de clientes indicada por el usario
- funcion que recibe la base de datos,el tamaño y la llena)
- -Luego, permita el ingreso de un cliente(login y contraseña), validando los datos (llamando a
- funcion).
- -Luego en caso de que los datos sean validados, muestre un menu con las opciones de
- *cambio de contraseña,consignacion,retiro,salir)
- -luego segun la opcion escogida por el usuario permita capturar los datos, ejecutar las funciones y
- presentar los resultados solicitados*/
#include <stdio.h>
#include <stdlib.h>
void IngresarDatos(int t,int m[100][3])
{ int f;
for(f=0;f<t;f++){
printf("Ingrese el id para el cliente: %d\n",f+1);
scanf("%d",&m[f][0]);
printf("Ingrese la password para el cliente: %d\n",f+1);
scanf("%d",&m[f][1]);
printf("Ingrese sueldo para el cliente: %d\n",f+1);
scanf("%d",&m[f][2]);
}
}
///_______________________________________________________________________________________________________________________
int ValidarCliente(int t,int idCliente,int password,int m[100][3]){
int f,c,estado,cont=0;
for(f=0;f<t;f++){
for(c=0;c<3;c++){
if(m[f][c]==idCliente && m[f][1]== password){
cont=cont+1;
}
}
}
if(cont!=0){
estado=1;
}
return estado;
}
void ModificarPassword(int t,int idCliente,int m[100][3]){
int f,c,newpass;
for(f=0;f<t;f++){
for(c=0;c<3;c++){
if(m[f][c]==idCliente){
printf("Ingrese nueva contraseña:\n");
scanf("%d",&newpass);
m[f][1]=newpass;
printf("La contraseña ha sido cambiada!!!\n ");
}
}
}
}
int RetiroConsignacion(int t,int idCliente,int operacion,int valor,int m[100][3]){
int estado,f,c,bande;
switch(operacion){
case 1:
for(f=0;f<t;f++){
for(c=0;c<3;c++){
if(m[f][c]==idCliente && m[f][2]>valor){
m[f][2]=m[f][2]-valor;
bande=1;
}
}
}
if(bande==1){
estado=1;
}
break;
case 2:
for(f=0;f<t;f++){
for(c=0;c<3;c++){
if(m[f][c]==idCliente ){
m[f][2]=m[f][2]+valor;
bande=1;
}
}
}
if(bande==1){
estado=1;
}
break;
}
return estado;
}
///____________________________________________________________________________________________________________________
int main(){
int matriz[100][3],numC,idC,password,ope,opc,valor;
printf("Ingrese el numero de clientes a procesar:\n");
scanf("%d",&numC);
IngresarDatos(numC,matriz);
printf("\n");
printf("Iniciar sesion\n");
printf(" ");
printf("Ingrese id cliente:\n");
scanf("%d",&idC);
printf(" ");
printf("Ingrese id password:\n");
scanf("%d",&password);
int login=ValidarCliente(numC,idC,password,matriz);
printf("%d\n",login);
if(login==1){
do{
printf("1.Cambiar contraseña.\n");
printf("2.Consignar/Retirar.\n");
printf("3.Salir.\n");
scanf("%d",&opc);
switch(opc){
case 1:
ModificarPassword(numC,idC,matriz);
printf("\n");
break;
case 2:
printf("Que desea hacer?\n");
printf(" \n");
printf("1.Para retirar.\n");
printf("2.Para consignar.\n");
scanf("%d",&ope);
printf("ingrese el monto:\n");
scanf("%d",&valor);
int estadoRC=RetiroConsignacion(numC,idC,ope,valor,matriz);
if(estadoRC==1){
printf("La transaccion ha sido realizada exitosamente\n");
}///Fin si
if(estadoRC!=1){
printf("Error,el monto supera el saldo actual!!!!\n");
}///Fin si
break;
case 3:
printf("HASTA LUEGO!!!");
break;
}///fin segun
}while(opc!=3);
}else {printf("id o contraseña incorrectos\n");}
return 0;
}
No hay comentarios:
Publicar un comentario