Prezados, boa tarde!
Não estou conseguindo de forma alguma realizar o desafio, o meu código pula dois inputs, recebe apenas um e calcula o IMC de uma forma muito estranha:
Segue meu código:
import 'dart:io';
void main() {
List <dynamic> dados = [];
print("Informe seu nome:");
String? nome = stdin.readLineSync();
if(nome==null){
print("Por gentileza insira um nome válido:\n");
String? nome = stdin.readLineSync();
while(nome==null){
print("Por gentileza insira um nome válido:\n");
String? nome = stdin.readLineSync();
}
}
print("Informe sua idade:");
int idade = stdin.readByteSync();
print("Insira sua altura:\n");
String? altura = stdin.readLineSync();
double alturan = double.parse(altura!);
print("Insira seu peso:\n");
String? peso = stdin.readLineSync();
double peson = double.parse(peso!);
double imc = peson / (alturan * alturan);
if (imc < 17) {
print(
"Olá $nome\n seu IMC é $imc\n portanto você está muito abaixo do peso.\n");
}
if (imc >= 17 && imc < 18.50) {
print(
"Olá $nome\n seu IMC é $imc\n portanto você está abaixo do peso.\n");
}
if (imc >= 18.50 && imc < 25) {
print(
"Olá $nome\n seu IMC é $imc\n portanto você está com peso normal.\n");
}
if (imc >= 25 && imc < 30) {
print("Olá $nome\n seu IMC é $imc\n portanto você está acima do peso.\n");
}
if (imc >= 30 && imc < 35) {
print("Olá $nome\n seu IMC é $imc\n portanto você com obesidade I.\n");
}
if (imc >= 35 && imc < 40) {
print(
"Olá $nome\n seu IMC é $imc\n portanto você com obesidade II (severa).\n");
}
if (imc > 40) {
print(
"Olá $nome\n seu IMC é $imc\n portanto você com obesidade III (móbida).\n");
}
}