ExemploManipulaPares-ex6.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /*
  4. * =================================================
  5. * Filename: .c
  6. * Description:
  7. * Created: dd/mm/18 hh:mm
  8. * =================================================
  9. */
  10. typedef struct dados
  11. {
  12. char nome[20];
  13. int numero;
  14. } Dados;
  15. void manipula_um_par(Dados *par)
  16. {
  17. par->numero /= 2;
  18. }
  19. void manipula_pares(Dados *estrutura, int num)
  20. {
  21. for(int i = 0;i < num;i++)
  22. if(estrutura[i].numero % 2 == 0)
  23. manipula_um_par(&estrutura[i]);
  24. }
  25. int main(int argc, char **argv)
  26. {
  27. Dados *stru;
  28. int num;
  29. printf("Qual o tamanho do vetor de estruturas? ");
  30. scanf("%d", &num);
  31. stru = (Dados *) malloc(num * sizeof(Dados));
  32. for(int i = 0;i < num;i++)
  33. {
  34. printf("Digite %do numero: ", i+1);
  35. scanf("%d", &stru[i].numero);
  36. printf("\nDigite um nome: ");
  37. setbuf(stdin,NULL);
  38. scanf("%[^\n]s", &stru[i].nome);
  39. printf("\n--------------\n\n");
  40. }
  41. manipula_pares(stru,num);
  42. for(int i = 0;i < num;i++)
  43. printf("\nnumero da %da estrutura: %d", i+1, stru[i].numero);
  44. free(stru);
  45. return 0;
  46. }