Skip to content

Instantly share code, notes, and snippets.

@jacobaraujo7
Created April 4, 2019 23:31
Show Gist options
  • Save jacobaraujo7/ef7ff45a73c074fb1a30691da6324962 to your computer and use it in GitHub Desktop.
Save jacobaraujo7/ef7ff45a73c074fb1a30691da6324962 to your computer and use it in GitHub Desktop.
Cálculo de imac
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");
}
}
@marcosdourados
Copy link

Achei que eu estava fazendo algo errado. Mas ao copiar e colar o código também deu erro aqui.

imc.dart:10:27: Error: A value of type 'String?' can't be assigned to a variable of type 'String' because 'String?' is nullable and 'String' isn't.
String textPeso = stdin.readLineSync();
^
imc.dart:14:29: Error: A value of type 'String?' can't be assigned to a variable of type 'String' because 'String?' is nullable and 'String' isn't.
String textAltura = stdin.readLineSync();

@maquinamiltop
Copy link

maquinamiltop commented Sep 6, 2021

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.

@CarlosMoreira2021
Copy link

tive o mesmo problema mano eu acho que e por causa das atualizacoes do flutter

@tutorres
Copy link

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!);

@sagalex
Copy link

sagalex commented Sep 24, 2021

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