/* 060208-2.c
 * 30 minutos
 */
#include <stdio.h>

float calcula_imc (float peso, float altura);
float kilos_ideal (float peso, float altura);

int main (void)
{
  float peso, altura;
  float imc;
  float ideal;

  printf ("Introduce tu peso en kilogramos: ");
  scanf ("%f", &peso);
  printf ("Introduce tu altura en metros: ");
  scanf ("%f", &altura);
  imc = calcula_imc (peso, altura);
  printf ("Su IMC es de: %4.1f\n", imc);
  ideal = kilos_ideal (peso, altura);
  if      (ideal > 0.0) printf ("Engordar %4.1f kilogramos\n", ideal);
  else if (ideal < 0.0) printf ("Adelgazar %4.1f kilogramos\n", -ideal);
  else                  printf ("Su peso es normal\n");
  return 0;
}

float calcula_imc (float peso, float altura)
{
  return peso / (altura * altura);
}

void clasificacion_imc (float imc)
{
  if      (imc  < 18.5)             printf ("Peso insuficiente\n");
  else if (imc >= 18.5 && imc < 25) printf ("Peso normal\n");
  else if (imc >= 25   && imc < 30) printf ("Sobrepeso\n");
  else if (imc >= 30   && imc < 40) printf ("Obesidad\n");
  else if (imc >= 40)               printf ("Obesidad mórbida\n");
}

float kilos_ideal (float peso, float altura)
{
  float imc;
  imc = calcula_imc (peso, altura);
  if (imc < 18.5)
    return 18.5 * altura * altura - peso;
  if (imc > 25)
    return 25 * altura * altura - peso;
  return 0.0;
}