Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- typedef struct {
- int nrCamisa;
- int qtdGols;
- } dataPlayer; //Struct do Jogador
- typedef struct {
- int creationYear;
- dataPlayer player[5];
- } Equipe;
- dataPlayer leJogador(void); //Protótipo de função para ler jogador
- void leEquipe(Equipe *team);
- void escreveJogador(dataPlayer player); //Protótipo de função para escrever o jogador
- void marcouGol(Equipe *team, int camiseta);
- dataPlayer obtemGoleador(Equipe *team);
- int main() {
- Equipe team;
- dataPlayer player;
- int n;
- printf("Informe o ano da equipe, e os dados de 5 jogadores\n");
- leEquipe(&team);
- printf("Informe n:\n");
- scanf("%d", &n);
- while(n != 99) {
- marcouGol(&team, n);
- scanf("%d", &n);
- }
- player = obtemGoleador(&team);
- escreveJogador(player);
- return 0;
- }
- dataPlayer leJogador(void) { //Essa função usa os dados da struct para ler, por isso o tipo da função
- dataPlayer player; // é dataPlayer, que é o nome da struct
- scanf("%d %d", &player.nrCamisa, &player.qtdGols); //leitura
- return player; //aqui a função não poderia ser void, porque tem o retorno
- }
- void leEquipe(Equipe *team) {
- int i;
- scanf("%d", &team -> creationYear);
- for(i = 0; i < 5; i++) {
- team -> player[i] = leJogador();
- }
- }
- void escreveJogador(dataPlayer player) {
- printf("Camisa: %d Gols: %d\n", player.nrCamisa, player.qtdGols);
- }
- void marcouGol(Equipe *team, int camiseta) {
- int i;
- for(i= 0; i < 5; i++) {
- if(camiseta == team -> player[i].nrCamisa) {
- team ->player[i].qtdGols++;
- }
- }
- }
- dataPlayer obtemGoleador(Equipe *team) {
- int i, maior = 0;
- dataPlayer x;
- for( i = 0; i < 5; i++) {
- if(team->player[i].qtdGols >= maior) {
- x = team->player[i];
- maior = team->player[i].qtdGols;
- }
- }
- return x;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement