AlocaçãoDinâmica*. Tá dando um erro no resultado final, help

15/03/2008

1

código é pra pedir um grupo de pessoas o peso e altura de cada uma e calcular o seu Índice de Massa Corpórea (IMC). O problema é: Ele tá pedindo a mesma informacao 2 vezes e não tá mostrando o imc de cada pessoa.

Alguém pode me ajudar???





#include ´stdafx.h´
include <math.h>
include <stdlib.h>

float imc(float *peso,float *altura,int qtd)
{
float imcr = 0;
for (int i=0; i<qtd; i++)
{ printf(´Informe o ¬d-esimo peso: ´,i+1);
scanf(´¬f´,&peso[i]);
}
for (int i=0; i<qtd; i++)
{ printf(´Informe a ¬d-esima altura: ´,i+1);
scanf(´¬f´,&altura[i]);
}
for (int i=0; i<qtd; i++)
{ imcr = peso[i] / (altura[i] * altura[i]);
}
return imcr;
}

int _tmain(int argc, _TCHAR* argv[])
{
float *peso,*altura;
int qtd=0;

printf(´Será feito o cadastro de quantas pessoas? \n´);
scanf(´¬d´,&qtd);
peso=(float*)malloc(qtd*sizeof(float));
altura=(float*)malloc(qtd*sizeof(float));


imc(peso,altura,qtd);
int i;
for (int i=0; i<qtd; i++)
{ printf(´O ¬d-esimo peso é:¬f e a altura é:¬f e seu IMC é:¬f \n´,i+1, peso[i], altura[i],imc(peso,altura,qtd));
}
return 0;


Responder