Ir ao conteúdo
  • Cadastre-se

Programa em C com STRUCTS


prugowski

Posts recomendados

Olá!!!

preciso de uma ajuda urgente...

preciso fazer um programa em C mas num sei direito nem como começar...

vai ai o exercicio...

flow...

...

Faça um programa que armazene as informações de 3 jogadores de futebol. Cada jogador é identificado pelo numero da sua camisa, pelo seu peso, e altura e pela inicial do seu nome. O programa devera ler todas as informações e imprimir a inicial do jogador mais baixo e o numero mais pesado. Use structs para resolver este exercicio.

...

Tentei fazer, mas não consegui muita coisa:

# include<stdio.h>

struct jogador {

int num;

float peso;

float alt;

char i_nome;

float i_baixo;

float num_pes;

};

main(){

struct jogador a1, a2, a3;

printf("Digite o numero da camisa:\n");

scanf("%d", & a1.num);

printf("Digite o peso:\n");

scanf("%f", & a1.peso);

printf("Digite a altura:\n");

scanf("%f",& a1. alt);

printf("Digite a letra inicial do nome:\n");

scanf("%c", & a1.i_nome);

printf("A inicial do nome do jogador\n", a1. i_nome);

}

e só!!!

HELP...:unsure:

Link para o comentário
Compartilhar em outros sites

Salve, prugowski.

Dê uma olhada nesse código, mas, estude o algorítmo.



struct estrutura_jogadores
{int num;
float peso;
float alt;
char i_nome;
};

int main ( void )
{
struct estrutura_jogadores jogador [ 3 ];
float mais_baixo = 0.0, mais_gordo = 0.0;
unsigned char indice = 0, inicial;

for ( indice = 0; indice < 3; indice++ )
{
printf("Digite o numero da camisa:\n");
fflush ( stdin );
scanf("%d", &jogador[indice].num);
printf("Digite o peso:\n");
fflush ( stdin );
scanf("%f", &jogador[indice].peso);
printf("Digite a altura:\n");
fflush ( stdin );
scanf("%f",&jogador[indice].alt);
printf("Digite a letra inicial do nome:\n");
fflush ( stdin );
scanf("%c", &jogador[indice].i_nome);
printf(" \n\n");
}

mais_baixo = jogador[0].alt;
inicial = jogador[0].i_nome;
mais_gordo = jogador[0].peso;

for ( indice = 1; indice < 3; indice++ )
{
if ( jogador[indice].peso > mais_gordo ) mais_gordo = jogador[indice].peso;
if ( jogador[indice].alt < mais_baixo )
{
mais_baixo = jogador[indice].alt;
inicial = jogador[indice].i_nome;
}
}

printf(" \n\n");
printf("A inicial do jogador mais baixo é: %c \n\n", inicial);
printf("O jogador mais pesado tem: %3.2f quilos \n\n", mais_gordo);
printf("Pressione uma tecla para finalizar.");

getch ( );
return 0;
}

# include<stdio.h>

[]'s

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...

estou implementando esse mesmo exemplo da estrutura com três jogadores, porém não consigo entender o erro que esta acontecendo na compilação... se alguém puder me da uma luz...

aparece o seguinte erro: cannot convert struct jogadores to float in assigment:confused:

#include<stdio.h> // bilbioteca de entrada e saida

#include<string.h> // biblioteca de tratamento de strings

#include<stdlib.h>

// estrutura que guarda os dados dos jogadores

struct estrutura_jogadores

{

int num; // numero da camisa

float peso; // peso do jogador

float altura; // altura do jogador

char i_nome; // primeira letra do nome do jogador

};

int main ()

{

struct estrutura_jogadores jogador [3];

float mais_baixo = 0.0;

float mais_gordo = 0.0;

unsigned char indice = 0;

char inicial;

for (indice = 0; indice <3; indice++)

{

printf("digite o numero da camisa:\n");

fflush (stdin); // limpeza dos buffers de saida

scanf("%d", &jogador[indice].num);

printf("digite o peso:\n");

fflush(stdin);// limpeza dos buffers de saida

scanf("%f", &jogador[indice].peso);

printf("digite a altura:\n");

fflush(stdin); // limpeza dos buffers de saida

printf("digite a letra inicial do nome do jogador:\n");

fflush(stdin);// limpeza dos buffers de saida

scanf("%c", &jogador[indice].i_nome);

}

mais_baixo=jogador[0].altura;

inicial=jogador[0].i_nome;

mais_gordo=jogador[0].peso;

for (indice=1; indice<3; indice++)

{

if (jogador[indice].peso > mais_gordo)

mais_gordo=jogador[indice];

if (jogador[indice].altura < mais_baixo)

{

mais_baixo = jogador[indice].altura;

inicial = jogador[indice].i_nome;

}

}

printf("A inicial do jogador mais baixo e: %c \n \n", inicial);

printf("O jogador mais pesado tem: %3.2f quilos \n \n", mais_gordo);

system("pause");

}

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

Agradecia se alguém me pudesse ajudar neste trabalho que tenho de entregar para avaliação. Porque ja não mexo nisto a bue e o que sei mesmo e php agradecia bastante se alguem me ajudasse nisto.

Cria um programa que guarde informação sobre jogadores de Futebol.

Os campos a guardar são os seguintes:

Nome, golos, salário, posição, nacionalidade, data de nascimento.

É de referir que as estruturas devem estar bem organizadas.

O Programa deve executar as seguintes operações:

a) Perguntar qual o nome do ficheiro a ler ou a escrever (dados sobre o jogador);

B) Caso o ficheiro exista carregar os dados para um vector, caso contrário deverá criar o ficheiro e inserindo informação;

c) Imprimir o conteúdo do vector;

d) Indicar qual o jogador com maior salário;

e) Indicar qual o jogador com menor numero de golos marcados;

f) Procurar o nome dum jogador e actualizar o número de golos marcados;

g) Acrescentar mais jogadores;

h) Gravar toda a informação do vector para o ficheiro;

i) Indicar o número de registos inseridos;

j) Pesquisar e visualizar a informação de um jogador;

k) Deve ser dada a possibilidade de adicionar várias posições, estas devem ser gravadas num novo ficheiro;

l) Deve ser dada a possibilidade de adicionar várias nacionalidades, estas devem ser gravadas num novo ficheiro;

m) Quando inserimos um jogador, nos campos nacionalidade e posição deverá surgir uma lista dos registos existentes por forma a que o utilizador possa escolher o valor desejado. Este tem que existir.

Exemplo:

Nacionalidades existentes: Português, Brasileiro, Chinês.

Ao introduzir o valor da nacionalidade do jogador, o programa deve verificar se a nacionalidade existe no vector. Poderás fazê-lo utilizando a função busca que criaste na alínea f). No entanto tens que programá-la de forma a obter o resultado desejado.

post-931490-1388496108875_thumb.png

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

/*Faça um programa que armazene as informações de 3 jogadores de futebol. Cada jogador é identificado pelo numero

da sua camisa, pelo seu peso, e altura e pela inicial do seu nome. O programa devera ler todas as informações e imprimir

a inicial do jogador mais baixo e o numero mais pesado. Use structs para resolver este exercicio.*/

#include<stdio.h>

#include<stdlib.h>

struct jogador {

int num;

float peso;

float alt;

char i_nome;

float i_baixo;

float num_pes;

};

main(){

struct jogador a1, a2, a3;

char maiorpeso, maioralt;

printf("Digite o numero da camisa:\n");

scanf("%d", & a1.num);

printf("Digite o peso:\n");

scanf("%f", & a1.peso);

printf("Digite a altura:\n");

scanf("%f",& a1. alt);

printf("Digite a letra inicial do nome:\n");

fflush(stdin);

scanf("%c", & a1.i_nome);

printf("Digite o numero da camisa:\n");

scanf("%d", & a2.num);

printf("Digite o peso:\n");

scanf("%f", & a2.peso);

printf("Digite a altura:\n");

scanf("%f",& a2. alt);

printf("Digite a letra inicial do nome:\n");

fflush(stdin);

scanf("%c", & a2.i_nome);

printf("Digite o numero da camisa:\n");

scanf("%d", & a3.num);

printf("Digite o peso:\n");

scanf("%f", & a3.peso);

printf("Digite a altura:\n");

scanf("%f",& a3. alt);

printf("Digite a letra inicial do nome:\n");

fflush(stdin);

scanf("%c", & a3.i_nome);

if(a1.alt>a2.alt && a1.alt>a3.alt){//comparação para encontrar o de maior altura

maioralt=a1.i_nome;

}

else

if(a1.alt<a2.alt && a2.alt>a3.alt){

maioralt=a2.i_nome;

}

else

maioralt=a3.i_nome;

if(a1.peso>a2.peso && a1.peso>a3.peso){

maiorpeso=a1.i_nome;

}

else

if(a1.peso<a2.peso && a2.peso>a3.peso){

maiorpeso=a2.i_nome;

}

else

maiorpeso=a3.i_nome;

printf("A inicial do nome do jogador com maior altura e %c e com maior peso e: %c\n", maioralt, maiorpeso);

system("pause");

return 0;

}

http://cliquenavegue.blogspot.com

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!