Created
March 10, 2019 19:37
-
-
Save CristianoRC/b528cd0ac7cc13faf178b2a1f2cee401 to your computer and use it in GitHub Desktop.
Exercício de estrutura de dados -> Correção
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<stdio.h> | |
//Estruturas | |
struct jogador { | |
int numCam, numGol; | |
}; | |
struct equipe { | |
int ano; | |
struct jogador jog[5]; | |
}; | |
//Prototipos | |
struct jogador leJogador(void); | |
struct equipe leEquipe(void); | |
struct equipe marcouGol(int camiseta); | |
void escreveJogador(struct jogador jog); | |
struct jogador obtemGoleador(struct equipe EQ); | |
struct equipe leEquipe() { | |
struct equipe EQ; | |
struct jogador jog[5]; | |
int i; | |
printf("Digite o ano de criaçao de uma equipe:"); | |
scanf("%d", & EQ.ano); | |
for (i = 0; i < 5; i++) { | |
printf("Digite os dados do jogador %d: \n", (i+1)); | |
EQ.jog[i] = leJogador(); | |
} | |
return EQ; | |
} | |
struct jogador leJogador() { | |
struct jogador jog; | |
printf("Digite a camisa do jogador: "); | |
scanf("%d", & jog.numCam); | |
printf("Digite o numero de gols: "); | |
scanf("%d", & jog.numGol); | |
printf("--------------------\n"); | |
return jog; | |
} | |
struct equipe marcouGol(int camiseta) { | |
struct equipe EQ; | |
int i; | |
for (i = 0; i < 5; i++) { | |
printf("Digite os dados do jogador %dº :\n", (i+1)); | |
if (camiseta == EQ.jog[i].numCam) { | |
EQ.jog[i].numGol += 1; | |
} | |
} | |
} | |
struct jogador obtemGoleador(struct equipe EQ) { | |
struct jogador jog; | |
int i, maior = 0; | |
for (i = 0; i < 5; i++) { | |
if (EQ.jog[i].numGol > maior) { | |
maior = EQ.jog[i].numGol; | |
jog = EQ.jog[i]; | |
} | |
} | |
return jog; | |
} | |
void escreveJogador(struct jogador jog) { | |
printf("jogador camisa nº %d", jog.numCam); | |
printf(" com %d gols.\n", jog.numGol); | |
} | |
int main() { | |
struct equipe EQ; | |
int camiseta; | |
struct jogador goleador; | |
EQ = leEquipe(); | |
for (int i = 0; i < 5; i++) { | |
printf("Camisa: %d - Gols: %d\n", EQ.jog[i].numCam,EQ.jog[i].numGol); | |
} | |
//TODO: Refazer a função, prototipo e código abaixo do marcou gol. | |
// scanf("%d", & camiseta); | |
// while (camiseta != 99) { | |
// marcouGol(camiseta, EQ); | |
// scanf("%i", & camiseta); | |
// } | |
goleador = obtemGoleador(EQ); | |
escreveJogador(goleador); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment