Advertisement
LuandaBernardo

PESSOA FÍSICA E JURÍDICA (ARQUIVO)

Jan 24th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.08 KB | None | 0 0
  1. /*Uma empresa de consultoria está separando suas atividades entre clientes pessoa física
  2. e pessoa jurídica. Faça um programa em Pascal que converta os registros de clientes do arquivo “Clientes.reg”
  3. nos arquivos “ClientesPF.reg” e “ClientesPJ.reg”. Os registros devem ser lidos do arquivo “Clientes.reg” e caso o
  4. registro seja de um cliente pessoa jurídica (Categoria = “PJ”) e ativo (Ativo=True) este deve ser copiado para o
  5. arquivo “ClientesPJ.reg”, caso seja um registro de pessoa física (Categoria = “PF”) e ativo, este deve ser copiado
  6. para o arquivo “ClientesPF.reg”.
  7. Ao final do processo deve ser impresso na tela a quantidade de registros de cada arquivo e a quantidade de
  8. clientes inativos.*/
  9.  
  10. #include <stdio.h>
  11. #include <conio.h>
  12. #include <string.h>
  13. #include <stdlib.h>
  14.  
  15. typedef struct {
  16.     char rua[30], bairro[20];
  17.     int numero;
  18. } Tendereco;
  19.  
  20. typedef struct {
  21.    
  22.     Tendereco endereco;
  23.     char nome[30];
  24.     char cpf[12];
  25.     int fone;
  26.     char categoria[3];
  27.     int ativo;
  28. }TCliente;
  29.  
  30. typedef struct {
  31.     Tendereco endereco;
  32.     int fone;
  33.     char cpf[12], nome [31];
  34. }TClienteP;
  35.  
  36.  
  37. main ()
  38. {
  39.     FILE *Cliente, *PF, *PJ;
  40.     TCliente ClienteA, ClienteN;
  41.     int numInat =0;int numPF =0; int numPJ=0;
  42.    
  43.     Cliente = fopen("Clientes.reg", "rb");
  44.     PF = fopen ("ClientesPF.reg","wb");
  45.     PJ = fopen ("ClientesPJ.reg", "wb");
  46.    
  47.    
  48.     while (!feof(Cliente))
  49.     {
  50.         fread(&ClienteA, sizeof(TCliente), 1, Cliente);
  51.         if (!feof(Cliente))
  52.         { if (ClienteA.ativo)
  53.         { strcpy(ClienteN.nome, ClienteA.nome);
  54.         strcpy (ClienteN.cpf, ClienteA.cpf);
  55.         ClienteN.fone = ClienteA.fone;
  56.         if (!strcmp("ClienteA.categoria","PF"))
  57.         {numPF = numPF + 1;
  58.         fwrite (&ClienteN, sizeof(TClienteP), 1, PF);   }
  59.         }
  60.         else { numPJ = numPJ +1;
  61.         fwrite (&ClienteN, sizeof(TClienteP), 1, PJ);}
  62.         }
  63.        
  64.         else numInat = numInat +1;}
  65.        
  66.         printf ("\n Quantidade de Pessoas Físicas: %d", numPF);
  67.         printf ("\n Quantidade de Pessoas Físicas: %d", numPJ);
  68.         printf ("\n Quantidade de Clientes Inativos: %d", numInat);
  69.        
  70. fclose (PF);
  71. fclose (PJ);
  72. fclose (Cliente);
  73.  
  74. return 0;
  75.    
  76.    
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement