Skip to content

Instantly share code, notes, and snippets.

@CristianoRC
Created March 10, 2019 19:37
Show Gist options
  • Save CristianoRC/b528cd0ac7cc13faf178b2a1f2cee401 to your computer and use it in GitHub Desktop.
Save CristianoRC/b528cd0ac7cc13faf178b2a1f2cee401 to your computer and use it in GitHub Desktop.
Exercício de estrutura de dados -> Correção
#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