Pesquisar na Comunidade
Mostrando resultados para as tags ''c++ imc estrutura condicional if else''.
Encontrado 1 registro
-
Fala galera, beleza? Estou tentando fazer o código abaixo funcionar mas tá complicado. A questão é que fiz alguns testes e os cálculos estão batendo, mas quando o programa passa pela estrutura condicional os valores não são salvos.. o imc sempre dá como 20 independente do resultado do cálculo. Sou novo em programação então não sei se tudo o que escrevi está de acordo. #include <iostream> #include <string.h> using namespace std; struct paciente { char nome[30]; float altura; float peso; float imc; //para calcular deve-se dividir o peso pela altura char classificacao[25]; int telefone ; /* classificação do imc = abaixo de 20 Abaixo do Peso 20 a 25 Peso Ideal 25 a 30 Sobrepeso 30 a 35 Obesidade Leve 35 a 40 Obesidade Mederada 40 a 50 Obesidade Mórbida acima de 50 Super Obesidade*/ }paciente1 , paciente2; int main() { cout << "Cadastro de Pacientes" <<endl; cout << "\n"; cout << "Digite o nome do paciente 1:" << endl; cin >> paciente1.nome; cout << "Digite a altura do paciente 1:" << endl; cin >> paciente1.altura; cout << "Digite o peso do paciente 1:" << endl; cin >> paciente1.peso; cout << "Digite o telefone do paciente 1:" << endl; cin >> paciente1.telefone; paciente1.imc = paciente1.peso / (paciente1.altura*paciente1.altura); cout << paciente1.imc; //esse cout é apenas para mostrar que o cálculo está saindo corretamente. if (paciente1.imc < 20.0){ strcpy(paciente1.classificacao,"Abaixo do Peso"); } //fiz um teste com o IF antes de escrever tudo e estava OK. else if ((paciente1.imc = 20.0) && (paciente1.imc <= 25.0)){ strcpy(paciente1.classificacao,"Peso Ideal"); } else if ((paciente1.imc = 26.0) && (paciente1.imc <= 30.0)){ strcpy(paciente1.classificacao,"Sobrepeso"); } else if ((paciente1.imc = 31.0) && (paciente1.imc <= 35.0)){ strcpy(paciente1.classificacao,"Obedidade Leve"); } else if ((paciente1.imc = 36.0) && (paciente1.imc <= 40.0)){ strcpy(paciente1.classificacao,"Obesidade Moderada"); } else if ((paciente1.imc = 41.0) && (paciente1.imc <= 50.0)){ strcpy(paciente1.classificacao,"Obesidade Morbida"); } else{ strcpy(paciente1.classificacao,"Super Obesidade"); }; cout << "\n"; cout << "Digite o nome do paciente 2:" << endl; cin >> paciente2.nome; cout << "Digite a altura do paciente 2:" << endl; cin >> paciente2.altura; cout << "Digite o peso do paciente 2:" << endl; cin >> paciente2.peso; cout << "Digite o telefone do paciente 2:" << endl; cin >> paciente2.telefone; paciente2.imc = paciente2.peso / (paciente2.altura*paciente2.altura); cout << paciente2.imc; if (paciente2.imc < 20.0){ strcpy(paciente2.classificacao,"Abaixo do Peso"); } else if ((paciente2.imc = 20.0) && (paciente2.imc <= 25.0)){ strcpy(paciente2.classificacao,"Peso Ideal"); } else if ((paciente2.imc = 26.0) && (paciente2.imc <= 30.0)){ strcpy(paciente2.classificacao,"Sobrepeso"); } else if ((paciente2.imc = 31.0) && (paciente2.imc <= 35.0)){ strcpy(paciente2.classificacao,"Obedidade Leve"); } else if ((paciente2.imc = 36.0) && (paciente2.imc <= 40.0)){ strcpy(paciente2.classificacao,"Obesidade Moderada"); } else if ((paciente2.imc = 41.0) && (paciente2.imc <= 50.0)){ strcpy(paciente1.classificacao,"Obesidade Morbida"); } else { strcpy(paciente2.classificacao,"Super Obesidade"); }; system ("cls"); cout << "Dados do Paciente 1:" << endl << "\n"; cout << "Nome: " << paciente1.nome << endl; cout << "Altura: " << paciente1.altura << "\t" << "Peso: " << paciente1.peso << endl; cout << "IMC: " << paciente1.imc << "\t" << "Classificacao: " << paciente1.classificacao << endl; cout << "\n\n"; cout << "Dados do Paciente 2:" << endl << "\n"; cout << "Nome: " << paciente2.nome << endl; cout << "Altura: " << paciente2.altura << "\t" << "Peso: " << paciente2.peso << endl; cout << "IMC: " << paciente2.imc << "\t" << "Classificacao: " << paciente2.classificacao << endl; system("PAUSE"); return EXIT_SUCCESS; } Valeu pela ajuda!