Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Uma empresa de consultoria está separando suas atividades entre clientes pessoa física
- e pessoa jurídica. Faça um programa em Pascal que converta os registros de clientes do arquivo “Clientes.reg”
- nos arquivos “ClientesPF.reg” e “ClientesPJ.reg”. Os registros devem ser lidos do arquivo “Clientes.reg” e caso o
- registro seja de um cliente pessoa jurídica (Categoria = “PJ”) e ativo (Ativo=True) este deve ser copiado para o
- arquivo “ClientesPJ.reg”, caso seja um registro de pessoa física (Categoria = “PF”) e ativo, este deve ser copiado
- para o arquivo “ClientesPF.reg”.
- Ao final do processo deve ser impresso na tela a quantidade de registros de cada arquivo e a quantidade de
- clientes inativos.*/
- #include <stdio.h>
- #include <conio.h>
- #include <string.h>
- #include <stdlib.h>
- typedef struct {
- char rua[30], bairro[20];
- int numero;
- } Tendereco;
- typedef struct {
- Tendereco endereco;
- char nome[30];
- char cpf[12];
- int fone;
- char categoria[3];
- int ativo;
- }TCliente;
- typedef struct {
- Tendereco endereco;
- int fone;
- char cpf[12], nome [31];
- }TClienteP;
- main ()
- {
- FILE *Cliente, *PF, *PJ;
- TCliente ClienteA, ClienteN;
- int numInat =0;int numPF =0; int numPJ=0;
- Cliente = fopen("Clientes.reg", "rb");
- PF = fopen ("ClientesPF.reg","wb");
- PJ = fopen ("ClientesPJ.reg", "wb");
- while (!feof(Cliente))
- {
- fread(&ClienteA, sizeof(TCliente), 1, Cliente);
- if (!feof(Cliente))
- { if (ClienteA.ativo)
- { strcpy(ClienteN.nome, ClienteA.nome);
- strcpy (ClienteN.cpf, ClienteA.cpf);
- ClienteN.fone = ClienteA.fone;
- if (!strcmp("ClienteA.categoria","PF"))
- {numPF = numPF + 1;
- fwrite (&ClienteN, sizeof(TClienteP), 1, PF); }
- }
- else { numPJ = numPJ +1;
- fwrite (&ClienteN, sizeof(TClienteP), 1, PJ);}
- }
- else numInat = numInat +1;}
- printf ("\n Quantidade de Pessoas Físicas: %d", numPF);
- printf ("\n Quantidade de Pessoas Físicas: %d", numPJ);
- printf ("\n Quantidade de Clientes Inativos: %d", numInat);
- fclose (PF);
- fclose (PJ);
- fclose (Cliente);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement