Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /*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*/
- ///Funcion que llena la matriz
- void IngresarDatos(int t,int m[100][3])
- { int f,c;
- printf("Ingrese los sgts datos asi: seguidos de la tecla ENTER\n");
- printf("1.identificacion cliente(codigo).\n");
- printf("2.Clave.\n");
- printf("3.Sueldo.\n");
- for(f=0;f<t;f++){
- for(c=0;c<3;c++){
- printf("igrese los datos para el cliente: %d\n",f+1);
- scanf("%d",&m[f][c]);
- }
- }
- }
- ///_______________________________________________________________________________________________________________________
- ///Funcion validar cliente reorna 1 exitos, 0 erronea
- 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){
- cont=cont+1;
- }
- }
- }
- if(cont!=0){
- estado=1;
- }
- return estado;
- }///Fin funcion
- ///________________________________________________________________________________________________________________________
- ///Funcion que modifica contraseña
- 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 ");
- }
- }
- }
- }///fin funcion
- ///_________________________________________________________________________________________________________________________
- ///Funcion consignacion retiro
- int RetiroConsignacion(int t,int idCliente,int operacion,int valor,int m[100][3]){
- int estado,f,c,bande;
- switch(operacion){
- ///retiro
- 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;///Termina caso 1
- ///Consignacion
- 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;
- }
- }///Fin columnas
- }///Fin filas
- if(bande==1){
- estado=1;
- }
- break;///Termina caso 2
- }///Fin segun
- return estado;
- }
- ///____________________________________________________________________________________________________________________
- void mostrar(int t,int m[100][3]){
- int f,c;
- for(f=0;f<t;f++){
- for(c=0;c<3;c++){
- printf("matriz[%d][%d]-%d",f,c,m[f][c]);
- }
- printf("\n");
- }
- }////Fin funcion
- ///************************************************************************************************************************
- 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");
- mostrar(numC,matriz);
- ///logear cliente
- 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);
- ///Si login es igual a 1 entonces user existe
- 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);
- mostrar(numC,matriz);
- switch(opc){
- case 1:
- ModificarPassword(numC,idC,matriz);
- mostrar(numC,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");
- mostrar(numC,matriz);
- }///Fin si
- if(estadoRC!=1){
- printf("Error,el monto supera el saldo actual!!!!\n");
- mostrar(numC,matriz);
- }///Fin si
- break;
- case 3:
- printf("HASTA LUEGO!!!");
- break;
- }///fin segun
- }while(opc!=3);
- }else {printf("id o contraseña incorrectos\n");}
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement