casa |  | Saúde e Doença >  | Dieta e Nutrição | Controle de Peso

Como Calcular o IMC Usando Código em C++: Guia Prático

IMC e Programação: Unindo Saúde e Tecnologia

Se você gosta de saúde e tecnologia, pode criar seu próprio calculador de IMC em C++. O IMC usa a relação peso/altura e, às vezes, idade e sexo. Segundo a Weight-control Information Network, IMC alto aumenta risco de certos cânceres, doenças cardíacas, vesícula biliar, artrose e complicações na gravidez. IMC saudável: 18,5–24,9; sobrepeso: 25–29,9; obesidade: ≥30.

Materiais Necessários

  • Balança (peso em kg ou lbs)
  • Trena (altura em m ou polegadas)

Código C++ para Calculadora de IMC (Windows/Linux/Unix)

O código abaixo é uma aplicação completa com interface gráfica (Windows Forms) que calcula IMC e classifica o resultado. Ele aceita entrada em libras/kg e polegadas/metros.

// Código C++ (Windows Forms) - Linhas 1 a 59
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace BMIApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnCalculate_Click(object sender, EventArgs e)
        {
            double weight = string.IsNullOrEmpty(txtWeight.Text) ? 1 : double.Parse(txtWeight.Text);
            double height = string.IsNullOrEmpty(txtHeight.Text) ? 1 : double.Parse(txtHeight.Text);

            if (weight == 0)
            {
                MessageBox.Show("Resultado impreciso. Peso não é um número válido.");
            }
            if (height == 0)
            {
                MessageBox.Show("Resultado impreciso. Altura não é um número válido.");
            }

            double vmult = cboWeightUnits.SelectedItem.ToString() == "pounds" ? 2.204 : 1;
            double hmult = cboHeightUnits.SelectedItem.ToString() == "inches" ? 0.0254 : 1;

            double BMI = Math.Round(((weight / vmult) / ((height * hmult) * (height * hmult))) * 10) / 10;

            string BMI_description = string.Empty;
            if (BMI < 16.5)
                BMI_description = "muito abaixo do peso";
            else if (BMI >= 16.5 && BMI < 18.5)
                BMI_description = "abaixo do peso";
            else if (BMI >= 18.5 && BMI < 25)
                BMI_description = "normal";
            else if (BMI >= 25 && BMI <= 30)
                BMI_description = "sobrepeso";
            else if (BMI > 30 && BMI <= 35)
                BMI_description = "obeso";
            else if (BMI > 35 && BMI <= 40)
                BMI_description = "obesidade severa";
            else
                BMI_description = "obesidade mórbida";

            txtResult.Text = string.Format("Seu Índice de Massa Corporal (IMC) é: {0}. Isso é considerado {1}.", BMI, BMI_description);
        }
    }
}

Como Usar o Programa

  1. Compile e execute o código na sua IDE C++ (Visual Studio, Code::Blocks, etc.).
  2. Insira seu peso na caixa correspondente (selecione a unidade: lbs ou kg).
  3. Insira sua altura na caixa correspondente (selecione a unidade: polegadas ou metros).
  4. Clique em "Calcular".
  5. O programa exibirá seu IMC e a classificação correspondente.

Dica: Para versões console mais simples (sem interface gráfica), a lógica matemática central é a mesma: IMC = peso_kg / (altura_m * altura_m).