Gente preciso saber por que esta acontecendo isso com o meu código, é pra ser um programa simples de calcular IMC, só que por algum motivo o programa não aceita número quebrado mesmo eu especificando o "%f", sou iniciante nessa linguagem e preciso muito consertar isso para um trabalho da faculdade, quanto antes responderem melhor!!!
segue o código:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
struct ficha {
char nome[50];
float altura, peso;
}pessoas[10];
void main()
{
setlocale(LC_ALL, "Portuguese");
int cont = 0;
float imc;
for (cont=0;cont<10;cont++)
{
printf("\nDigite seu nome: ");
scanf("%s", pessoas[cont].nome);
printf("\nDigite sua altura: ");
scanf("%f", &pessoas[cont].altura);
printf("\nDigite seu peso: ");
scanf("%f", &pessoas[cont].peso);
imc = pessoas[cont].peso / pow(pessoas[cont].altura,2);
if (imc <= 18)
printf("\nO Ìndice de massa corporal de %s está abaixo da média! IMC correspondente: %.2f", pessoas[cont].nome, imc);
if (imc >= 30)
printf("\nO Ìndice de massa corporal de %s está acima da média! IMC correspondente: %.2f", pessoas[cont].nome, imc);
if ((imc >= 18) && (imc <= 30))
printf("\nO Ìndice de massa corporal de %s está dentro da média! IMC correspondente: %.2f", pessoas[cont].nome, imc);
cont+=1;
}
getch();
}
Me ajudem por favor!