Advertisement
Guest User

Untitled

a guest
Dec 4th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.77 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <math.h>
  4. #define MAX_ELEM 100
  5.  
  6. //Declaração de estruturas   
  7.    
  8. typedef struct{
  9. int dia, mes, ano;
  10. } tipoData;
  11.  
  12. typedef struct{
  13. int numero;
  14. char nome[20];
  15. char apelido[20];
  16. tipoData dataNascimento;
  17. } tipoCartao;
  18.  
  19.  
  20. typedef struct{
  21.    
  22. int numeroAssociados;
  23. tipoCartao associados[MAX_ELEM];   
  24.    
  25. }TipoAssociacao;
  26.  
  27. //vetor associaçao
  28. tipoData dataNascimento[MAX_ELEM];
  29. TipoAssociacao numeros[MAX_ELEM];
  30. tipoCartao associados[MAX_ELEM];
  31. // Declaração de Variaveis!
  32.  
  33.  
  34. FILE*leitura;
  35. FILE*escrita;
  36. FILE*escrita2;
  37. int i, menor, j, aux;
  38.  
  39. int main(){
  40.     leitura = fopen("associados.txt", "r");
  41.     escrita = fopen("ordenados.txt", "w");
  42.     escrita2 = fopen("OrdenadosB.txt","w");
  43.     int escolhaUser, blockSwitch;
  44.  
  45.     while(blockSwitch==0){
  46.     printf("Escolha o metodo que pretende [1 para selecao e 2 para bolha]:");
  47.     scanf("%d",&escolhaUser);
  48.     switch(escolhaUser)
  49.     {
  50.     case 1 :
  51.         while(fscanf(leitura, "%s %s %d %d %d %d",associados[i].nome, associados[i].apelido, &numeros[i].numeroAssociados,&dataNascimento[i].dia, &dataNascimento[i].mes, &dataNascimento[i].ano)!= EOF){
  52.             for (i= 0; i< MAX_ELEM-1; i++){
  53.                 menor = i;
  54.                 for (j = i+1; j < MAX_ELEM; j++){
  55.                     if(numeros[j].numeroAssociados< numeros[menor].numeroAssociados){
  56.                         menor= j;
  57.                     }
  58.                 }
  59.             }
  60.             aux = numeros[i].numeroAssociados;
  61.             numeros[i].numeroAssociados = numeros[menor].numeroAssociados;
  62.             numeros[menor].numeroAssociados = aux;
  63.             fprintf(escrita, "%s %s %d %d %d %d\n",associados[i].nome, associados[i].apelido, numeros[i].numeroAssociados, dataNascimento[i].dia, dataNascimento[i].mes, dataNascimento[i].ano);
  64.             }
  65.             //Duvida aqui! (De acordo comos slides está correto)
  66.             printf("Ocorreram %d para interacoes para ordenar a estrutura.", MAX_ELEM - 1);
  67.             blockSwitch=1;
  68.             break;
  69.     case 2 :
  70.             while(fscanf(leitura, "%s %s %d %d %d %d",associados[i].nome, associados[i].apelido, &numeros[i].numeroAssociados,&dataNascimento[i].dia, &dataNascimento[i].mes,&dataNascimento[i].ano)!= EOF){
  71.                 for(i=0; i<MAX_ELEM; i++){
  72.                     for(j=MAX_ELEM-1; j>i; j--){
  73.                         if(numeros[i].numeroAssociados<numeros[j-1].numeroAssociados){
  74.                             aux=numeros[j].numeroAssociados;
  75.                             numeros[j].numeroAssociados=numeros[j-1].numeroAssociados;
  76.                             numeros[j-1].numeroAssociados=aux;
  77.                         }
  78.                     }
  79.                 }
  80.                 fprintf(escrita2, "%s %s %d %d %d %d\n",associados[i].nome, associados[i].apelido, numeros[i].numeroAssociados, dataNascimento[i].dia, dataNascimento[i].mes, dataNascimento[i].ano);      
  81.                     }
  82.             //Duvida aqui! (De acordo comos slides está correto)
  83.             printf("Ocorreram %d para interacoes para ordenar a estrutura.", MAX_ELEM - 1);
  84.         blockSwitch=1;
  85.         break;
  86.     default:
  87.         printf("Numero invalido. Tente novamente.\n");
  88. }
  89. }
  90.     return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement