Galera, to tentando fazer essa questao ,mas no to conseguindo fazer a letra b pois estou com dificuldades em passar por parâmetro. A letra C tbm nao to conseguindo.
Foi feita uma pesquisa nos 26 estados brasileiros para coletar dados sobre acidentes de trânsito e gerar algumas estatísticas. Em cada estado observaram-se os seguintes aspectos: nome do estado, número de veículos que circulam no estado (em 2007) e número de acidentes de trânsito (em 2007). Faça um programa para:
(a) Coletar os dados dos 26 estados e armazenar em um vetor de estruturas. Para tal, construa um procedimento que irá solicitar ao usuário que informe os dados coletados de cada estado;
(b) Informar a maior e a menor número de acidentes de trânsito e o nome dos estados em que eles ocorreram. Para tal, construa um procedimento que receba como parâmetro o cadastro e tenha como parâmetros de saída (por referência) os índices (posição no cadastro) dos estados que possuem as características solicitadas. A exibição dos dados deve ocorrer no programa principal.
(c) Informar o percentual de veículos envolvidos em acidentes de trânsito em cada estado. Para tal, construa uma função que receba como parâmetro o cadastro e o estado e retorne o percentual solicitado;
(d) Informar a média de acidentes no país. Para tal, construa uma função que receba como parâmetro o cadastro e retorne a média solicitada. A exibição da média deve ocorrer no programa principal;
(e) Informar o nome dos estados que estão acima da média de acidentes do país. Para tal, construa um procedimento que receba como parâmetro o cadastro e a media do pais e exiba os dados solicitados.
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#define[/HASHTAG] TAM 3
struct estado{
char nome[31];
int numveic;
int numacid;
};
void preencher( struct estado v[],int tam){
int i;
for(i=0;i
printf("DIGITE O NOME DO ESTADO %d: ",i+1);
gets(v.nome);
}
for(i=0;i
printf("DIGITE O NUMERO DE VEICULOS DO ESTADO %s: ",v.nome);
scanf("%d",&v.numveic);
}
for(i=0;i
printf("DIGITE O NUMERO DE ACIDENTES NO ESTADO %s: ",v.nome);
scanf("%d",&v.numacid);
}
}
int comp(struct estado v[],int tam){
int maior=0,menor=0,i;
char nomes[31], nomes2[31];
while (i < TAM)
{
if (i == 0) // se i = 0
{
maior = v.numacid;
menor = v.numacid;
}
else
{
if (v.numacid > maior)
{
maior = v.numacid;
strcpy (nomes,v.nome);
}
else if (v.numacid < menor)
{
menor = v.numacid;
strcpy (nomes2,v.nome);
}
}
i++;
}
printf ("\n\nEstado com maior número de acidentes: %s e teve %d acidentes\n", nomes,maior);
printf ("\n\nEstado com menor número de acidentes: %s e teve %d acidentes\n", nomes2,menor);
}
int main(){
struct estado vetor[TAM];
int i;
preencher(vetor,TAM);
comp(vetor,TAM);
}
eduardo96
Novo Membro
Registrado
2 Mensagens
0 Curtidas
Structs em C
#1 Por eduardo96
09/05/2016 - 13:17