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

[Projeto] Tarefa - Faça como eu fiz: crie a escolha de operação com estruturas condicionais-parte 2

Implementei o 'if-else' encadeado sem o último 'if' .

Solução do instrutor:

  if (operacao == "+") {
    soma();
  } else {
    if (operacao == "-") {
      subtracao();
    } else {
      if (operacao == "*") {
        multiplicacao();
      } else {
        if (operacao == "/") {
          divisao();
        }
      }
    }
  }

Minha solução:

import 'dart:io';

void main() {
  print("Informe o primeiro número: ");
  double numeroUm = double.parse(stdin.readLineSync()!);
  print("Informe o segundo número: ");
  double numeroDois = double.parse(stdin.readLineSync()!);
  print("Informe a operação desejada ( + , - , * , / ) :");
  String operacao = stdin.readLineSync()!;
  
  void soma(){
    print("A soma dos dois números dá: ");
    print(numeroUm + numeroDois);
  }

  void subtracao(){
    print("A subtração dos dois números dá: ");
    print(numeroUm - numeroDois);
  }

  void multiplicacao(){
    print("A multiplicação dos dois números dá: ");
    print(numeroUm * numeroDois);

  }
  void divisao(){
    print("A divisão do primeiro pelo segundo dá: ");
    print(numeroUm / numeroDois);
  }

  if (operacao == "+"){
    soma();
  } else {
    if (operacao == "-"){
      subtracao();
    } else {
      if (operacao == "*"){
        multiplicacao();
      } else {
        divisao();
      }
    }
  }

}
1 resposta
solução!

Olá, Antonio! Como vai?

Seu código está ótimo e segue a lógica do exercício direitinho! A utilização das funções para cada operação e o controle da escolha da operação através do if-else estão perfeitos. Você fez uma implementação muito boa, sem o último if, que é uma escolha válida, já que você está cobrindo todas as possibilidades no último bloco do else.

Uma dica seria simplificar o bloco de condicionais para deixar o código mais legível e reduzir a profundidade do código. Veja como ficaria:

if (operacao == "+") {
  soma();
} else if (operacao == "-") {
  subtracao();
} else if (operacao == "*") {
  multiplicacao();
} else if (operacao == "/") {
  divisao();
}

Isso torna o código mais enxuto e ainda mantém a lógica clara. Mas, de qualquer forma, sua implementação está correta! Continue assim, está indo muito bem!

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)