Advertisement
ThaisAlmeida

Final 2012.1 - Questão1

Aug 18th, 2014
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.73 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct {
  6.  
  7.     char nome[40];
  8.     char CPF[11];
  9.     int fone;
  10.     char rua[50];
  11.     char bairro[40];
  12.     int numerocasa;
  13. } ANTES2008;
  14.  
  15. typedef struct {
  16.  
  17.     char nome[30];
  18.     char CPF[11];
  19.     int fone;
  20.     char rua[30];
  21.     char bairro[20];
  22.     int numerocasa;
  23. } ATUAL;
  24.  
  25. typedef struct {
  26.  
  27.     char nome[30];
  28.     char CPF[11];
  29.     int fone;
  30.     char rua[30];
  31.     char bairro[20];
  32.     int numerocasa;
  33. } SAIDA;
  34.  
  35. int main() {
  36.     ANTES2008 antes;
  37.     ATUAL atual;
  38.     SAIDA saida;
  39.  
  40.     FILE *arq1, *arq2, *arq3;
  41.    
  42.     int i=0,n=0,t=0,soma1,soma2;
  43.  
  44.     arq1 = fopen("Clientes_2008", "r");
  45.     arq2 = fopen("Clientes_atual", "r");
  46.     arq3 = fopen("Clientes_arq", "w");
  47.  
  48.     while (!feof(arq2)) {
  49.        
  50.         fread(&atual,sizeof(ATUAL),1,arq2);
  51.         strcpy(atual.nome, saida.nome);
  52.         strcpy(atual.CPF, saida.CPF);
  53.         strcpy(atual.bairro, saida.bairro);
  54.         strcpy(atual.rua, saida.rua);
  55.         atual.fone = saida.fone;
  56.         atual.numerocasa = saida.numerocasa;
  57.         fwrite(&saida,sizeof(SAIDA),1,arq3);
  58.         i++;
  59.     }
  60.    
  61.     rewind(arq2);
  62.     while(!feof(arq1)){
  63.        
  64.         fread(&antes,sizeof(ANTES2008),1,arq1)
  65.                 t++;
  66.                 while(!feof(arq1)){
  67.                      fread(&atual,sizeof(ATUAL),1,arq2);7
  68.                     if(strcmp(antes.CPF,atual.CPF) == 0){
  69.                          
  70.                                 strcpy(antes.nome, saida.nome);
  71.                                 strcpy(antes.CPF, saida.CPF);
  72.                                 strcpy(antes.bairro, saida.bairro);
  73.                                 strcpy(antes.rua, saida.rua);
  74.                                 antes.fone = saida.fone;
  75.                                 antes.numerocasa = saida.numerocasa;
  76.                                 fwrite(&saida,sizeof(SAIDA),1,arq3);
  77.                                 n++;
  78.                        
  79.                     }
  80.                      soma1 = i + t;
  81.                      soma2 = i +n;
  82.                 }
  83.     }
  84.    
  85.     printf("O numero de clientes no inicio era:\n %d", soma1);
  86.     printf("O numero de clientes no final eh:\n %d", soma2);
  87.    
  88.     return(0);
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement