Created
April 4, 2019 23:31
-
-
Save jacobaraujo7/ef7ff45a73c074fb1a30691da6324962 to your computer and use it in GitHub Desktop.
Cálculo de imac
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:io'; | |
main() { | |
calculoImc(); | |
} | |
//Programa que calcula o imc | |
calculoImc() { | |
print("=== Digite seu Peso"); | |
String textPeso = stdin.readLineSync(); | |
int peso = int.parse(textPeso); | |
print("=== Digite sua Altura"); | |
String textAltura = stdin.readLineSync(); | |
double altura = double.parse(textAltura); | |
double imc = calcImcExpr(peso, altura); | |
imprimirResultado(imc); | |
} | |
//função que recebe o peso e a altura e retorna o imc | |
double calcImcExpr(int peso, double altura) { | |
return peso / (altura * altura); | |
} | |
//imprime o resultado baseado no imc passado por parâmetro | |
imprimirResultado(double imc) { | |
print("==========================="); | |
if (imc < 18.5) { | |
print("Abaixo do peso"); | |
} else if (imc > 18.5 && imc < 24.9) { | |
print("Peso Normal"); | |
} else if (imc > 25 && imc < 29.9) { | |
print("Sobrepeso"); | |
} else if (imc > 30 && imc < 34.9) { | |
print("Obesidade grau 1"); | |
} else if (imc > 35 && imc < 39.9) { | |
print("Obesidade grau 2"); | |
} else { | |
print("Obesidade grau 3"); | |
} | |
} |
tive o mesmo problema mano eu acho que e por causa das atualizacoes do flutter
Fala galera quem está tendo este problema é na hora de declarar a variável 'var peso = double.parse(TextPeso);' está assim no código porém deve-se colocar um ! assim : var peso = double.parse(TextPeso!); para que o dart tenha certeza de que a variável será uma string e não nulo. Mesma coisa dever ser feita na declaração var altura = double.parse(TextAltura!);
Para funcionar coloquei dessa forma como o tutorres indicou:
print("=== Digite seu Peso");
String? textPeso = stdin.readLineSync();
int peso = int.parse(textPeso!);
print("=== Digite sua Altura");
String? textAltura = stdin.readLineSync();
double altura = double.parse(textAltura!);
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Error: A value of type 'String?' can't be assigned to a variable of type 'String' because 'String?' is nullable and 'String' isn't.
O meu também deu este erro, não acho quem possa ajudar por isso estou com o curso parado, vou ter que migrar para outro curso, o jacob até é um bom professor, a culpa mesmo é do dart que funciona bem em umas máquinas outras não, também já copiei e colei o código original acima pra ver se o meu tá errado, mesmo assim deu ruim, não encontra na internet quem possa ajudar pois a linguagem não é tão consolidada quanto javascript, mas infelizmente preciso aprender esta merda se quiser manter meu app na googleplay.