Skip to content

Instantly share code, notes, and snippets.

@vinicioslc
Last active August 24, 2017 19:12
Show Gist options
  • Save vinicioslc/b0665cd76db9642cd9acc262c3ebd7ac to your computer and use it in GitHub Desktop.
Save vinicioslc/b0665cd76db9642cd9acc262c3ebd7ac to your computer and use it in GitHub Desktop.
Calculadora de IMC em C++
//
// main.cpp
// Calculadora de IMC
//
// Created by Vinicios de Lima Clarindo on 24/08/17.
// Copyright © 2017 Vinicios de Lima Clarindo. All rights reserved.
//
/* Script criado para calcular o valor total de IMC conforme entrada do usuário
* Além de informar qual o estado atual do usuário, se esta gordo demais ou magro demais.
* Autor : https://github.com/vinicioslc
* Criado em : 01 - 08 - 2017
*/
#include <iostream>
using namespace std;
//Comentários da ide...
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//retorna verdadeira se o valor de entrada esta entre dois valores
bool EstaEntre (float valorDeEntrada, float valorMinimo, float valorMaximo){
//valor é maior ou igual a "valorMinimo" ? e é igual ou menor a "valorMaximo" ?
if ( valorDeEntrada >= valorMinimo && valorDeEntrada <= valorMaximo){
return true; // retorne verdade
}
else {
return false; // senão retorne falso
}
}
//esse método retorna para o usuário o estado atual do seu IMC corporal.
void ImprimirEstadoDoIMC (float imcResultado){
cout << "\n[ ";
if (imcResultado < 17){
cout << "Você esta bem magro isso e preocupante...";
}
else if (EstaEntre(imcResultado, 17, 18.49))
{
cout << "Você tem um nivel de massa corporal baixa.";
}
else if (EstaEntre(imcResultado, 18.8, 24.9))
{
cout << "Seu peso esta ideal para sua altura.";
}
// é igual a 25 ?
else if (EstaEntre(imcResultado, 24.9, 25)) {
cout << "Você esta com um sobrepeso, e melhor dar uma corridinha.";
}
else if (imcResultado > 25){
cout << "Você esta bem gordo isso e preocupante...";
}
else {
cout << "Eu nao sei a resposta ! AAAAAaaaaah";
}
cout << " ]" << endl;
return;
}
// retorne valor total do IMC de acordo com a entrada
float RetornarIMC (float peso, float altura) {
return peso / (altura * altura);
}
// metodo principal
int main(int argc, char** argv) {
float alturaDoUsuario = 0;
float pesoDoUsuario = 0;
float resultadoIMC = 0;
cout << "Entre com sua altura em M.cm Ex.: 1.80 \n";
cin >> alturaDoUsuario;
cout << "Entre com seu peso em Kg Ex.: 70 \n";
cin >> pesoDoUsuario;
//calcula peso total
resultadoIMC = RetornarIMC(pesoDoUsuario, alturaDoUsuario);
//Exibe peso, altura e o IMC total
cout << "Resultado do IMC: " << "\n- Altura :" << alturaDoUsuario << "\n- Peso :" << pesoDoUsuario << "\n- IMC Total :" << resultadoIMC << endl;
//Exibe a mensagem sobre o estado do IMC ao usuário
ImprimirEstadoDoIMC(resultadoIMC);
//finaliza aplicação
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment