Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Desafio da calculadora - Explorando módulos

Realizei o incremento de outras 4 operações e usei o Switch para o menu de opções.

Arquivo "operacoes.js"

export function soma(num1, num2) {
  return num1 + num2;
}

export function subtracao(num1, num2) {
  return num1 - num2;
}

export function multiplicacao(num1, num2) {
  return num1 * num2;
}

export function divisao(num1, num2) {
  return num1 / num2;
}

export function potencia(num, exp) {
  return num ** exp;
}

export function porcentagem(total, perc) {
  return (total * perc) / 100;
}

Arquivo "index.js":

import { 
    soma,
    subtracao,
    multiplicacao,
    divisao,
    potencia,
    porcentagem,
} from "./operacoes.js"; 

import { createInterface } from 'readline';

const leitor = createInterface({
    input: process.stdin,
    output: process.stdout
});



leitor.question('Digite o primeiro número:\n>', (numero1) => {
    leitor.question('Digite a operação:\n1: Soma\n2: Subtração\n3: Multiplicação\n4: Divisão\n5: Potência\n6: Porcentagem\n >', (operacao) => {
        leitor.question('Digite o segundo número:\n>', (numero2) => {
            const num1 = Number(numero1);
            const num2 = Number(numero2);

            let resultado = null;

            switch (operacao) {
                case '1':
                    resultado = soma(num1, num2);
                    break;
                case '2':
                    resultado = subtracao(num1, num2);
                    break;
                case '3':
                    resultado = multiplicacao(num1, num2);
                    break;
                case '4':
                    resultado = divisao(num1, num2);
                    break;
                case '5':
                    resultado = potencia(num1, num2);
                    break;
                case '6':
                    resultado = porcentagem(num1, num2);
                    break;
                default:
                    console.log('Operação inválida!');
            }

            if (resultado != null) {
                console.log('O resultado da operação é: ', resultado);
            }

            leitor.close();
        });
    });
});
2 respostas
solução!

Oii, Caue! Como vai?

Agradeço por compartilhar .

Gostei da sua solução, importante como você organizou as operações em um módulo separado e utilizou o switch para deixar o menu mais claro e fácil de manter, alinhado com o objetivo da atividade de explorar módulos em JavaScript.

Parabéns pela iniciativa de ir além do proposto e incluir novas operações, isso mostra autonomia no aprendizado.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Valeeeu pelo feedback, Lorena e obrigado pela dica de leitura!