Saudações, realizei o projeto proposto na aula: https://cursos.alura.com.br/extra/alura-mais/usando-o-teclado-para-entrada-e-saida-de-dados-com-dart-c1404 Porém não consegui debuga-lo por erro no VS code, segue código:
/* Exercício proposto
https://cursos.alura.com.br/extra/alura-mais/usando-o-teclado-para-entrada-e-saida-de-dados-com-dart-c1404
Utilizar input para receber o nome, idade, peso e idade
e apresenta as informações
Planejamento do código
primeira Funcionalidade, coleta as informações
segunda Funcionalidade, calcula o IMC
terceira Funcionalidade, Mostra a mensagem na tela
Fórmula IMC = Peso / idade ^ 2
Implementar Switch para dar nota ao IMC:
IMC (kg/m2) Classificação
Menor que 16,9 Muito abaixo do peso
17 a 18,4 Abaixo do peso
18,5 a 24,9 Peso normal
25 a 29,9 Acima do peso
30 a 34,9 Obesidade grau 1
35 a 40 Obesidade grau 11
Maior que 40 Obesidade grau 11 1
*/
import 'dart:io';
void main() {
String? nome = funcNome();
double? altura = funcAltura();
double? peso = funcPeso();
double? IMC = funcCalculaIMC (altura!, peso!);
String? notaIMC = funcClassificaIMC (IMC!);
String? printNaTela = funcPrintNaTela(nome!, altura, peso, IMC, notaIMC!);
}
//Inicia as funções que coletam os dados
double? funcAltura () {
print('Qual é a sua Altura em Metros?');
String? inputAltura = stdin.readLineSync();
if (inputAltura != null) {
double altura = double.parse(inputAltura);
return altura;}
}
double? funcPeso () {
print('Qual é o seu peso em Kilogramas ?');
String? inputPeso = stdin.readLineSync();
if (inputPeso != null) {
double peso = double.parse(inputPeso);
return peso;}
}
String? funcNome () {
print('Qual o seu Nome?');
String? inputNome = stdin.readLineSync();
if (inputNome != null) {
String nome = inputNome;
return nome;}
}
//Finaliza as funções que coletam os dados
//Calcula o IMC
double? funcCalculaIMC (double altura, double peso) {
double IMC = peso / (altura*altura);
return IMC;
}
// Classifca o IMC
String? funcClassificaIMC (double IMC){
void main() {
var grade = IMC;
switch (grade) {
case <= 16.9 :
{
print("Muito abaixo do peso");
}
break;
case <= 18.4:
{
print("Abaixo do peso");
}
break;
case <= 24.9:
{
print("Peso normal");
}
break;
case <= 29.9:
{
print("Acima do peso");
}
break;
case <= 34.9:
{
print("Obesidade grau I");
}
break;
case <= 40:
{
print("Obesidade grau II");
}
break;
case > 40.0:
{
print("Obesidade grau III");
}
break;
default:
{
print("Erro no Cálculo");
}
break;
}
}
}
// Print na tela
String? funcPrintNaTela (String nome, double altura, double peso, double IMC, String notaIMC) {
print(' Olá $nome !, Você tem altura de $altura metros, pesa $peso quilogramas, seu IMC $IMC é de kg/m2, ou seja, você está: $notaIMC ');
}