/* Banco */
 
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
struct clientes
{
  int cod_cli_mae,telefon;
   char nom_cli[35],dom_cli[35];
   float sal_cli;
 
}
reg1;
 
struct fingyfpag
{
  int cod_cli_mov,cod_suc,cod_prov;
   float imp_ope,tip_oper;
}
reg2;
 
typedef struct
{
  int cod_prov;
   char nom_prov[35];
}
reg3;
reg3 tabla[5];
 
FILE *clientes,*fingyfpag;
 
void main()
{
   int i,mas,a;
   strcpy(tabla[0].nom_prov,"Madrid");
   strcpy(tabla[1].nom_prov,"Barcelona");
   strcpy(tabla[2].nom_prov,"Toledo");
   strcpy(tabla[3].nom_prov,"Avila");
   strcpy(tabla[4].nom_prov,"Sevilla");
  for (i=0;i<=4;i++)
   {
     tabla[i].cod_prov=i;
   }
 
   clientes=fopen("clientes","r+b");
   if(!clientes) clientes=fopen("clientes","w+b");
   printf ("Desea introducir datos en el fichero clientes? 0->SI 1->NO: ");
   scanf ("%d",&mas);
   fflush(stdin);
   printf ("\n");
   while (mas!=1)
   {
    for (i=1000;i<=9999;i++)
     {
         fseek(clientes,i,SEEK_SET);
         if (reg1.cod_cli_mae!=0)
         {
           reg1.cod_cli_mae=i;
          printf ("Codigo del cliente: %d\n",reg1.cod_cli_mae);
          printf ("Introduce el nombre del cliente: ");
          gets (reg1.nom_cli);
           fflush(stdin);
          printf ("Introduce el domicilio del cliente: ");
          gets (reg1.dom_cli);
           fflush(stdin);
          printf ("Introduce el telefono: ");
          scanf ("%d",®1.telefon);
           fflush(stdin);
          printf ("Introduce el saldo actual del cliente: ");
          scanf ("%f",®1.sal_cli);
           fflush(stdin);
           fseek(clientes,reg1.cod_cli_mae,SEEK_SET);
           fwrite(®1,sizeof(reg1),1,clientes);
           printf ("Desea seguir introduciendo datos? 0->SI 1->NO: ");
         scanf ("%d",&mas);
           fflush(stdin);
           printf ("\n");
           if (mas==1)
           {
             i=12000;
           }
         }
     }
   }
 
   printf ("Desea buscar algun cliente? 0->SI 1->NO: ");
   scanf ("%d",&mas);
   fflush(stdin);
   printf ("\n");
   while (mas!=1)
   {
      printf ("Introduce el codigo del cliente a buscar: ");
      scanf ("%d",&a);
      fflush(stdin);
      fseek(clientes,a,SEEK_SET);
      if(fread(®1,sizeof(reg1),1,clientes)==1)
      {
         printf ("Nombre: %s\n",reg1.nom_cli);
         printf ("Domicilio: %s\n",reg1.dom_cli);
         printf ("Telefono: %d\n",reg1.telefon);
         printf ("Saldo actual: %2.f\n",reg1.sal_cli);
         printf ("Desea buscar otro cliente? 0->SI 1->NO: ");
       scanf ("%d",&mas);
       printf ("\n");
      }
      else
      {
        printf ("El codigo de cliente introducido no esta dado de alta en el fichero clientes");
      }
   }
   fclose (clientes);
}