Advertisement
AlexisRuiz

CajeroEjercicioparcial

Oct 4th, 2013
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /*EJERCIO PARCIAL(CAJERO AUTOMATICO)
  4. Se debe partir de la existencia de una base de datos de clientes identificados por un login una
  5. contraseña y un sueldo en pesos, por lo tato se deben almacer los datos de al menos 100
  6. clientes(todos los datos son numericos y enteros ).
  7.  
  8. 1.Se debe implementar una funcion que valide login y contraseña. La funcion recibe la base de
  9. datos, el tamaño,el login y la contraseña digitados por el usuario, los verifica contra la base de
  10. datos para luego retornar 1 que indica la validacion exitosa de datos, o un 0 que indica el ingreso
  11. delogin o contraseña incorrectos.
  12.  
  13. 2. Se debe implementar una funcion que permita modificar la contraseña.la funcion recibe la base
  14. de datos, el tamaño, y el login, pide la contraseña nueva realiza la modificacio en la base de
  15. datos.
  16.  
  17. 3.Se debe implementar una funcion que permita realizar una operacion de retiro o consignacion
  18. en la cuenta. La funcion recibe la base de datos, el tamaño el login, el tipo de operacion a realizar
  19. y el valor de la transaccion, realizando la modificacion correspondiente en la base de
  20. datos(sumarle o restarle al sueldo) y retornando para el caso del retiro o la consignacion un 1 si
  21. fue posible de realizar, o para el caso del retiro un 0 si no fue posible.
  22.  
  23. Es necesario contruir el programaprincipal que
  24. -Permita ingresar los datos iniciales,segun la cantidas de clientes indicada por el usario
  25. funcion que recibe la base de datos,el tamaño y la llena)
  26. -Luego, permita el ingreso de un cliente(login y contraseña), validando los datos (llamando a
  27. funcion).
  28.  
  29. -Luego en caso de que los datos sean validados, muestre un menu con las opciones de
  30. *cambio de contraseña,consignacion,retiro,salir)
  31. -luego segun la opcion escogida por el usuario permita capturar los datos, ejecutar las funciones y
  32. presentar los resultados solicitados*/
  33.  
  34.  
  35. ///Funcion que llena  la matriz
  36. void IngresarDatos(int t,int m[100][3])
  37. { int f,c;
  38.  printf("Ingrese los sgts datos asi: seguidos de la tecla ENTER\n");
  39.  printf("1.identificacion cliente(codigo).\n");
  40.  printf("2.Clave.\n");
  41.  printf("3.Sueldo.\n");
  42.     for(f=0;f<t;f++){
  43.         for(c=0;c<3;c++){
  44.             printf("igrese los datos para el cliente: %d\n",f+1);
  45.             scanf("%d",&m[f][c]);
  46.         }
  47.     }
  48.  
  49. }
  50. ///_______________________________________________________________________________________________________________________
  51. ///Funcion validar cliente reorna 1 exitos, 0 erronea
  52. int ValidarCliente(int t,int idCliente,int password,int m[100][3]){
  53. int f,c,estado,cont=0;
  54.  
  55. for(f=0;f<t;f++){
  56.     for(c=0;c<3;c++){
  57.         if(m[f][c]==idCliente){
  58.             cont=cont+1;
  59.         }
  60.     }
  61. }
  62. if(cont!=0){
  63.     estado=1;
  64. }
  65. return estado;
  66. }///Fin funcion
  67. ///________________________________________________________________________________________________________________________
  68. ///Funcion que modifica contraseña
  69. void ModificarPassword(int t,int idCliente,int m[100][3]){
  70. int f,c,newpass;
  71. for(f=0;f<t;f++){
  72.     for(c=0;c<3;c++){
  73.         if(m[f][c]==idCliente){
  74.             printf("Ingrese nueva contraseña:\n");
  75.             scanf("%d",&newpass);
  76.             m[f][1]=newpass;
  77.             printf("La contraseña ha sido cambiada!!!\n ");
  78.         }
  79.     }
  80. }
  81.  
  82. }///fin funcion
  83. ///_________________________________________________________________________________________________________________________
  84. ///Funcion consignacion retiro
  85. int RetiroConsignacion(int t,int idCliente,int operacion,int valor,int m[100][3]){
  86.     int estado,f,c,bande;
  87.  
  88.     switch(operacion){
  89.         ///retiro
  90.     case 1:
  91.  
  92.           for(f=0;f<t;f++){
  93.             for(c=0;c<3;c++){
  94.                 if(m[f][c]==idCliente && m[f][2]>valor){
  95.                     m[f][2]=m[f][2]-valor;
  96.                     bande=1;
  97.                 }
  98.                 }
  99.           }
  100.  
  101.           if(bande==1){
  102.             estado=1;
  103.           }
  104.  
  105.  
  106.         break;///Termina caso 1
  107.  
  108.         ///Consignacion
  109.     case 2:
  110.         for(f=0;f<t;f++){
  111.             for(c=0;c<3;c++){
  112.                 if(m[f][c]==idCliente ){
  113.                     m[f][2]=m[f][2]+valor;
  114.                     bande=1;
  115.                 }
  116.             }///Fin columnas
  117.           }///Fin filas
  118.           if(bande==1){
  119.             estado=1;
  120.           }
  121.         break;///Termina caso 2
  122.  
  123.     }///Fin segun
  124.  
  125.     return estado;
  126. }
  127.     ///____________________________________________________________________________________________________________________
  128.    void mostrar(int t,int m[100][3]){
  129.     int f,c;
  130.  
  131.     for(f=0;f<t;f++){
  132.        for(c=0;c<3;c++){
  133.        printf("matriz[%d][%d]-%d",f,c,m[f][c]);
  134.     }
  135.     printf("\n");
  136.    }
  137.  
  138. }////Fin funcion
  139. ///************************************************************************************************************************
  140.  
  141. int main(){
  142.  
  143.     int matriz[100][3],numC,idC,password,ope,opc,valor;
  144.  
  145.  
  146.     printf("Ingrese el numero de clientes a procesar:\n");
  147.     scanf("%d",&numC);
  148.     IngresarDatos(numC,matriz);
  149.     printf("\n");
  150.     mostrar(numC,matriz);
  151.  
  152.     ///logear cliente
  153.     printf("Iniciar sesion\n");
  154.     printf(" ");
  155.     printf("Ingrese id cliente:\n");
  156.     scanf("%d",&idC);
  157.     printf(" ");
  158.     printf("Ingrese id password:\n");
  159.     scanf("%d",&password);
  160.  
  161.     int login=ValidarCliente(numC,idC,password,matriz);
  162.     ///Si login es igual a 1 entonces user existe
  163.     printf("%d\n",login);
  164.     if(login==1){
  165.         do{
  166.            printf("1.Cambiar contraseña.\n");
  167.            printf("2.Consignar/Retirar.\n");
  168.            printf("3.Salir.\n");
  169.            scanf("%d",&opc);
  170.            mostrar(numC,matriz);
  171.  
  172.            switch(opc){
  173.            case 1:
  174.                ModificarPassword(numC,idC,matriz);
  175.                mostrar(numC,matriz);
  176.                printf("\n");
  177.             break;
  178.  
  179.            case 2:
  180.                printf("Que desea hacer?\n");
  181.                printf(" \n");
  182.                printf("1.Para retirar.\n");
  183.                printf("2.Para consignar.\n");
  184.                scanf("%d",&ope);
  185.                printf("ingrese el monto:\n");
  186.                scanf("%d",&valor);
  187.                int estadoRC=RetiroConsignacion(numC,idC,ope,valor,matriz);
  188.                if(estadoRC==1){
  189.                 printf("La transaccion ha sido realizada exitosamente\n");
  190.                 mostrar(numC,matriz);
  191.  
  192.                }///Fin si
  193.                if(estadoRC!=1){
  194.                 printf("Error,el monto supera el saldo actual!!!!\n");
  195.                 mostrar(numC,matriz);
  196.                }///Fin si
  197.             break;
  198.  
  199.            case 3:
  200.                printf("HASTA LUEGO!!!");
  201.             break;
  202.            }///fin segun
  203.  
  204.         }while(opc!=3);
  205.     }else {printf("id o contraseña incorrectos\n");}
  206.     return 0;
  207. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement