Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. typedef struct {
  4. int nrCamisa;
  5. int qtdGols;
  6. } dataPlayer; //Struct do Jogador
  7.  
  8. typedef struct {
  9. int creationYear;
  10. dataPlayer player[5];
  11. } Equipe;
  12.  
  13. dataPlayer leJogador(void); //Protótipo de função para ler jogador
  14. void leEquipe(Equipe *team);
  15. void escreveJogador(dataPlayer player); //Protótipo de função para escrever o jogador
  16. void marcouGol(Equipe *team, int camiseta);
  17. dataPlayer obtemGoleador(Equipe *team);
  18.  
  19. int main() {
  20. Equipe team;
  21. dataPlayer player;
  22. int n;
  23.  
  24. printf("Informe o ano da equipe, e os dados de 5 jogadores\n");
  25. leEquipe(&team);
  26.  
  27. printf("Informe n:\n");
  28. scanf("%d", &n);
  29.  
  30. while(n != 99) {
  31. marcouGol(&team, n);
  32. scanf("%d", &n);
  33. }
  34.  
  35. player = obtemGoleador(&team);
  36. escreveJogador(player);
  37.  
  38. return 0;
  39. }
  40.  
  41.  
  42. dataPlayer leJogador(void) { //Essa função usa os dados da struct para ler, por isso o tipo da função
  43. dataPlayer player; // é dataPlayer, que é o nome da struct
  44. scanf("%d %d", &player.nrCamisa, &player.qtdGols); //leitura
  45. return player; //aqui a função não poderia ser void, porque tem o retorno
  46. }
  47.  
  48. void leEquipe(Equipe *team) {
  49. int i;
  50.  
  51. scanf("%d", &team -> creationYear);
  52. for(i = 0; i < 5; i++) {
  53. team -> player[i] = leJogador();
  54. }
  55. }
  56.  
  57. void escreveJogador(dataPlayer player) {
  58. printf("Camisa: %d Gols: %d\n", player.nrCamisa, player.qtdGols);
  59. }
  60.  
  61. void marcouGol(Equipe *team, int camiseta) {
  62. int i;
  63. for(i= 0; i < 5; i++) {
  64. if(camiseta == team -> player[i].nrCamisa) {
  65. team ->player[i].qtdGols++;
  66. }
  67. }
  68. }
  69.  
  70. dataPlayer obtemGoleador(Equipe *team) {
  71. int i, maior = 0;
  72. dataPlayer x;
  73.  
  74. for( i = 0; i < 5; i++) {
  75. if(team->player[i].qtdGols >= maior) {
  76. x = team->player[i];
  77. maior = team->player[i].qtdGols;
  78. }
  79. }
  80.  
  81. return x;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement