Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] refatorando o código

Implementei as mudanças propostas desse modelo:

import 'dart:io';

void main() {
  double primeiroNumero = 0;
  double segundoNumero = 0;
  String? operacao = "";

  print("Digite o primeiro número:");
  String? entrada = stdin.readLineSync();
  if (entrada != null){
    if (entrada !=""){
      primeiroNumero = double.parse(entrada);
    } 
  }

  print("Digite qual operação deseja realizar: (+, -, /, *): ");
  entrada = stdin.readLineSync();
  if(entrada != null){
    if(entrada != ""){
      operacao = entrada;
    }
  }

  print("Digite o segundo número:");
  entrada = stdin.readLineSync();
  if (entrada != null){
    if(entrada != ""){
      segundoNumero = double.parse(entrada);
    }
  }

  void soma() {
    print(primeiroNumero + segundoNumero);
  }

  void subtracao() {
    print(primeiroNumero - segundoNumero);
  }

  void divisao() {
    print(primeiroNumero / segundoNumero);
  }

  void multiplicacao() {
    print(primeiroNumero * segundoNumero);
  }

  void calcular() {
    switch (operacao) {
      case "+":
        soma();

      case "-":
        subtracao();

      case "/":
        divisao();

      case "*":
        multiplicacao();
        break;
    }
  }
print("O resultado da sua operação é:");
calcular();
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Oi, Lucas, tudo bem?

Excelente! Meus parabéns por implementar toda a refatoração. Você seguiu perfeitamente os três passos da atividade.

Sua implementação ficou ótima, separando a lógica no switch-case dentro da nova função calcular() e adicionando as validações de entrada if (entrada != null) e if (entrada != ""). Mandou muito bem!

Continue com o ótimo trabalho!

Bons estudos!

Sucesso

Imagem da comunidade