1
resposta

quiz

const { stdin, stdout } = require("process");
const readline = require("readline");

const reader = readline.createInterface({
  input: stdin,
  output: stdout,
});

let cont = 0;

reader.question(
  "(1) - Qual palavra abaixo usamos para criar uma função?\n" +
    "(A) - define\n" +
    "(B) - function\n" +
    "(C) - create\n",
  (resposta) => {
    if (resposta.toLowerCase() === "b") {
      console.log("Muito bem! Resposta correta!");
      cont++;
    } else {
      console.log("A reposta correta é a letra (B) - function!");
    }

    reader.question(
      "(2) - Qual destas opções é uma estrutura de repetição?\n" +
        "(A) - loop\n" +
        "(B) - repeat\n" +
        "(C) - for\n",
      (resposta) => {
        if (resposta.toLowerCase() === "c") {
          console.log("Muito bem! Resposta correta!");
          cont++;
        } else {
          console.log("A reposta correta é a letra (C) - for!");
        }

        reader.question(
          "Qual deste valores abaixo é considerado falsy em JavaScript?\n" +
            "(A) - 1\n" +
            "(B) - 0\n" +
            '(C) - "texto"\n',
          (resposta) => {
            if (resposta.toLowerCase() === "b") {
              console.log("Muito bem! Resposta correta!");
              cont++;
            } else {
              console.log("A reposta correta é a letra (B) - 0!");
            }
            switch (cont) {
              case 0:
                console.log("Continue praticando! Confiamos em você!");
                break;
              case 1:
                console.log("Muito bem! Contimue praticando!");
                break;
              case 2:
                console.log("Muito bem! Pratique para conseguir resultados ainda melhores!");
                break;
              case 3:
                console.log("Perfeito! Você acertou todas as questões!");
            }
            reader.close();
          },
        );
      },
    );
  },
);
1 resposta

Oi, Luis! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você estruturou seu quiz utilizando readline para interação no terminal e também do uso da variável cont para contabilizar os acertos. O uso de switch no final para mostrar uma mensagem diferente conforme a pontuação foi uma escolha bem interessante e ajuda a deixar o programa mais organizado.

Uma dica interessante para o futuro é usar o método trim() junto com toLowerCase() para evitar erros quando o usuário digitar espaços antes ou depois da resposta. Veja este exemplo:


let resposta = prompt("Digite a alternativa:").trim().toLowerCase();

if (resposta === "b") {
  console.log("Resposta correta");
} else {
  console.log("Resposta incorreta");
}

Neste exemplo, trim() remove espaços extras no início ou final do texto digitado, enquanto toLowerCase() transforma a resposta em minúsculas, ajudando a comparar corretamente a resposta do usuário.

Alura

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