Advertisement
Guest User

Untitled

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