Glaas2

Cuentas

Sep 13th, 2012
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.41 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <time.h>
  5.  
  6. typedef struct Titular{
  7.        char nombre[15];
  8.        char apellidop[10];
  9.        char appellidom[10];
  10.        char direccion[40];
  11.        char dni[10];  
  12.        }titular;
  13.  
  14. typedef struct cuentaCorriente{
  15.        struct Titular T[2];
  16.        char numero_cuenta[20];
  17.        double saldo;
  18.        }cuenta;
  19.  
  20. cuenta rellenarCuenta(int );
  21. void cambiarSaldo(cuenta *);
  22. void mostrar(cuenta , int);
  23.  
  24. int main(int argc, char *argv[])
  25. {
  26.   int fin = 0, n_titul=0;
  27.   int opcion;
  28.   srand(time(NULL));
  29.   cuenta C;
  30.        
  31.         while (fin == 0)
  32.                 {
  33.                 system("cls");
  34.                 printf("Cuentas\n\n");
  35.        
  36.                 printf("\t1] Rellenar Cuenta.\n");
  37.                 printf("\t2] Cambiar Saldo.\n");
  38.                 printf("\t3] Mostrar cuenta.\n");
  39.                 printf("\t4] Salir.\n");
  40.        
  41.                 printf("\n\nOpcion: ");
  42.                 fflush(stdin);
  43.                 scanf("%i", &opcion);
  44.                        
  45.                 switch(opcion)
  46.                         {
  47.                                 case 1:
  48.                                         system("cls");
  49.                                         printf("Ingrese el numero de titulares de la cuenta: ");
  50.                                         scanf("%d", &n_titul);
  51.                                         if(n_titul == 0)
  52.                                         {
  53.                                         printf("\nERROR: La cuenta debe tener al menos un titular\n");
  54.                                         system("pause");
  55.                                         break;
  56.                                         }
  57.                                         if(n_titul > 2)
  58.                                         {
  59.                                         printf("\nERROR: Puede haber maximo dos titulares\n");
  60.                                         system("pause");
  61.                                         break;
  62.                                         }
  63.                                         C=rellenarCuenta(n_titul);
  64.                                         system("pause");
  65.                                         break;
  66.                                 case 2:
  67.                                         system("cls");
  68.                                         cambiarSaldo(&C);
  69.                                         system("pause");
  70.                                         break;
  71.                                 case 3:
  72.                                         system("cls");
  73.                                         mostrar(C, n_titul);
  74.                                         system("pause");
  75.                                         break;
  76.                                 case 4:
  77.                                         fin = 1;
  78.                                         break;
  79.                                 default:
  80.                                         fin = 0;
  81.                                         break;
  82.                         }
  83.                        
  84.                 }
  85.        
  86.         return 0;
  87.  
  88.  
  89.  
  90. }
  91.  
  92. cuenta rellenarCuenta(int n_titul)
  93. {
  94.   int i, n;
  95.   char al[20];
  96.   cuenta C;
  97.   for(i=0; i < 20; i++)
  98.         C.numero_cuenta[i] = 65 + rand() % 24;        
  99.   printf("\nNumero de cuenta: %s\n", C.numero_cuenta);
  100.  
  101.   for(i=0; i<n_titul; i++)
  102.    {
  103.     printf("Ingrese el nombre completo del titular No. %d: \n\n", i+1);
  104.     fflush(stdin);      
  105.     scanf("%s %s %s", &C.T[i].nombre, &C.T[i].apellidop, &C.T[i].appellidom);
  106.     printf("Ingrese la direccion del titular No. %d: \n\n", i+1);
  107.     fflush(stdin);
  108.     gets(C.T[i].direccion);
  109.     strcpy(C.T[0].dni, C.T[i].nombre);  
  110.     n=i;
  111.    }
  112.     printf("Ingrese el saldo de la cuenta: ");
  113.     fflush(stdin);
  114.     scanf("%d", &C.saldo);
  115.    return C;
  116. }
  117.  
  118. void cambiarSaldo(cuenta *C)
  119. {
  120.  cuenta *C1;
  121.  C1 = C;
  122.  printf("Saldo anterior: %d\n", C1->saldo);
  123.  printf("Ingrese el nuevo saldo: ");
  124.  fflush(stdin);
  125.  scanf("%d", &C1->saldo);    
  126. }
  127.  
  128. void mostrar(cuenta C, int n)
  129. {
  130.   int i=0;
  131.   printf("Numero de Cuenta: %s \n", C.numero_cuenta);
  132.   printf("Numero de Titulares: %d \n\n", n);
  133.   for(i=0; i<n ; i++)
  134.   {
  135.   printf("\n\nNombre Titular %d: %s %s %s\n", i+1, C.T[i].nombre, C.T[i].apellidop, C.T[i].appellidom);
  136.   printf("Direccion Titular %d: %s\n", i+1, C.T[i].direccion);
  137.   }
  138.   printf("\nSaldo de Cuenta: %d \n", C.saldo);
  139.      
  140. }
Advertisement
Add Comment
Please, Sign In to add comment