opa, durante a execução deste programa, acontece um erro logo no final.
não estou conseguindo identificar o erro no código, se alguém o identificar, posta aqui por favor.
#include <stdio.h>
#include <stdlib.h>
typedef struct pesquisa
{
int idade;
char sexo;
float salario;
int nFilhos;
} Habitante;
int main ()
{
int i, k = 1;
int n;
double mediaS = 0, mediaF = 0;
printf ("Digite o numero de habitantes da pesquisa: ");
scanf ("%d", &n);
int aux [n], aux2 [n];
Habitante * habitantes;
habitantes = (Habitante *) malloc (n * sizeof (Habitante));
for (i = 0; i < n; i++)
{
printf ("\n\nDigite as informacoes do habitante %d [separadas por espaco]: ", k);
printf ("\nIdade, sexo [m ou f], salario, numero de filhos: ");
scanf ("%d %c %f %d", &habitantes [i].idade, &habitantes [i].sexo, &habitantes [i].salario, &habitantes [i].nFilhos);
k++;
}
for (i = 0; i < n; i++)
{
mediaS = mediaS + habitantes [i].salario;
mediaF = mediaF + habitantes [i].nFilhos;
}
mediaS = mediaS / n;
mediaF = mediaF / n;
printf ("\nA media do salario dos habitantes é: %f", mediaS);
printf ("\nA media do numero de filho dos habitantes é: %f", mediaF);
int p = 0;
int p1 = 0;
for (i = 0; i < n; i++)
{
if (habitantes [i].salario < mediaS)
{
aux [p] = i + 1;
p++;
}
if (habitantes [i].nFilhos > mediaF)
{
aux2 [p1] = i + 1;
p1++;
}
}
printf ("\n\nOs habitantes com salario abaixo da media foram: ");
for (i = 0; i <= p; i++)
{
if (habitantes [aux [i] - 1].sexo == 'f')
{
printf ("\nA habitante %d", aux [i]);
}
else
{
printf ("\nO habitante %d", aux [i]);
}
}
//O ERRO COMEÇA AQUI
//entra em um tipo de loop infinito.
printf ("\n\nOs habitantes com o numero de filho acima da media foram: ");
for (i = 0; i <= p1; i++)
{
if (habitantes [aux2 [i] - 1].sexo == 'f')
{
printf ("\nA habitante %d", aux2 [i]);
}
else
{
printf ("\nO habitante %d", aux2 [i]);
}
}
return 0;
}
Pergunta
Biglwp
opa, durante a execução deste programa, acontece um erro logo no final.
não estou conseguindo identificar o erro no código, se alguém o identificar, posta aqui por favor.
obrigado.
Editado por BiglwpLink para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.