79546754

Date: 2025-03-31 16:30:54
Score: 0.5
Natty:
Report link

First of all we want to use a while loop to repeatedly ask the user if they want to perform another calculation. Then check user input after each calculation to determine whether to continue or exit.

const calculator = require('readline-sync');
let operations = ['+', '-', '*', '/'];

function operationQuestion() {
    let operator, firstNumber, secondNumber;

    while (true) {  // Infinite loop, will break if user chooses to exit
        // Ask for operation
        operator = calculator.question(
            "What operation would you like to perform?" +
            "\nOptions:" +
            "\nAddition (" + operations[0] + ")" +
            "\nSubtraction (" + operations[1] + ")" +
            "\nMultiplication (" + operations[2] + ")" +
            "\nDivision (" + operations[3] + ")\n"
        );

        if (!operations.includes(operator)) {
            console.log("That is not a valid operation. Please try again.");
            continue;  // Restart loop if invalid operator
        }

        // Get numbers from user
        firstNumber = calculator.questionInt("Type the first number: ");
        secondNumber = calculator.questionInt("Type the second number: ");

        // Perform calculation
        switch (operator) {
            case '+':
                console.log(`The result of ${firstNumber} ${operator} ${secondNumber} = ${firstNumber + secondNumber}`);
                break;
            case '-':
                console.log(`The result of ${firstNumber} ${operator} ${secondNumber} = ${firstNumber - secondNumber}`);
                break;
            case '*':
                console.log(`The result of ${firstNumber} ${operator} ${secondNumber} = ${firstNumber * secondNumber}`);
                break;
            case '/':
                if (secondNumber === 0) {
                    console.log("Error: Division by zero is not allowed.");
                } else {
                    console.log(`The result of ${firstNumber} ${operator} ${secondNumber} = ${firstNumber / secondNumber}`);
                }
                break;
            default:
                console.log("Something went wrong :(");
        }

        // Ask if the user wants to perform another calculation
        let input = calculator.question("Do you want to perform another calculation? (yes/no): ").toLowerCase();
        if (input !== 'yes' && input !== 'y') {
            console.log("Goodbye!");
            break;  // Exit loop if user does not want another calculation
        }
    }
}
Reasons:
  • Blacklisted phrase (1): :(
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: that_pali_guy