Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rodrigoar

[Resolvido] switch case

Recommended Posts

Ola,

 

Estou começando em c++, e para exercitar, quero fazer uma calculadora de indice de massa corporal (imc).

consegui fazer o cauculo, so que quero que apareça a descrição de acordo com o o peso encontrado!

acho que devo usar o switch case, mas não estou conseguindo. me ajudem por favor! ja quebrei a cabeça!

#include<iostream>
#include<math.h>
#include <cstdlib>
using namespace std;
int main(void)
{
float p, a, imc;

cout<<"\nEntre com seu peso: ";
cin>> p;
cout<<"\nEntre com sua altura: ";
cin>> a; 
a=pow(a,2); 
imc=(p/a);
cout<< "\nIMC: " << imc << endl;

switch (imc)
{
case 1:
imc (<=17);
cout<<"\nVoce esta muito abaixo de seu peso";
break;
case 2:
imc >17 || <=18.49;
cout<<"\nVoce esta abaixo do seu peso";
break;
case 3:
imc >18.5 || <=24.99;
cout<<"\nVoce esta no seu peso ideal";
break;
case 4:
imc >25 || <=29.99;
cout<<"\nVoce esta acima do peso";
break;
case 5:
imc >30 || <=34.99;
cout<<"\nVoce esta com obesidade nivel 1";
break;
case 6:
imc >35 || <=39.99;
cout<<"\nVoce esta com obesidade severa nivel 2";
break;
case 7:
imc >40;
cout<<"\nVoce esta com obesidade morbida nivel 3";
break; 

} 
system ("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi _Isis_,

não é igual não, mas o que você quer dizer com isso? Desculpe a minha ignorância, só comecei nessa de programação faz uma semana! rsrsrs...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está usando float p/ cálculo e inteiros no switch. Não ficou claro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segui a dica do valramos e deu certo, valeu!

Obrigado a todos!

Só mais uma coisa, como faço para poder usar ç, e asentos? E porque quando eu separo os valores

por ponto funciona corretamente, mas com virgula ele calcula errado e da erro? tipo: Peso: 50.8 (da certo) 50,8 (da errado).

Esse negocio de programar é viciante! to gostando da ideia! rsrsrs...

 

Veja como eu fiz:

#include<iostream>
#include<math.h>
#include <cstdlib>
using namespace std;
int main(void)
{
    float p, a, imc;

    cout<<"\nEntre com seu peso separado por ponto: ";
    cin>> p;
    cout<<"\nEntre com sua altura separado por ponto: ";
    cin>> a;   
    a=pow(a,2); 
    imc=(p/a);
    cout<< "\nIMC: " << imc << endl;
    
    if (imc < 17)
  {
   cout<<"\nVoce esta muito abaixo de seu peso ideal!\n";
  }else if (imc >=17 && imc <=18.49){
   cout<<"\nVoce esta abaixo do peso ideal!\n";     
  }else if (imc >=18.5 && imc <=24.99){
   cout<<"\nPeso normal, Parabens!\n";
  }else if (imc >=25 && imc <= 29.99){
   cout<<"\nVoce esta muito acima de seu peso ideal!\n";
  }else if (imc >=30 && imc <=34.99){
   cout<<"\nVoce esta no nivel 1 de obesidade!\n"; 
  }else if (imc >=35 && imc <=39.99){
   cout<<"\nVoce esta no nivel 2 de obesidade! (Severa)\n"; 
  }else if (imc >=40){
   cout<<"\nVoce esta no nivel 3 de obesidade! (morbida)\n";
  }                


system ("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tem um regra por aqui que diz é pra postar código entre as tags CODE...

 

Provavelmente o uso de acentos está ligado ao LOCALE do seu ambiente. Aqui eu uso aCentos sem problema nenhum tanto em C como em C++.

 

"Dá errado" com vírgula porque as casas decimais são separadas por ponto e os milhares, por vírgula. Convenção dos EUA e afins.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tem um regra por aqui que diz é pra postar código entre as tags CODE...

 

Provavelmente o uso de acentos está ligado ao LOCALE do seu ambiente. Aqui eu uso aCentos sem problema nenhum tanto em C como em C++.

 

"Dá errado" com vírgula porque as casas decimais são separadas por ponto e os milhares, por vírgula. Convenção dos EUA e afins.

 

me perdoe, desconhecia essa regra, na verdade não li as regras! (peço desculpas!) vou ler as regras.

 

Obrigado pelas dicas!

Deus abençõe!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.