Nesta versão, o usuário pode definir o tempo mínimo que quiser.
import { createInterface } from "readline";
const rl = createInterface({
input: process.stdin,
output: process.stdout,
});
rl.question(
"Defina o tempo mínimo de aquecimento (em segundos):\n> ",
(input) => {
const tempoMinimo = Number(input);
if (
Number.isNaN(tempoMinimo) ||
!Number.isInteger(tempoMinimo) ||
tempoMinimo < 5
) {
console.log("Escolha um tempo maior que 4 segundos.");
rl.close();
return;
}
rl.question(
"Em quanto tempo a temperatura ideal é alcançada? (em segundos):\n> ",
(input) => {
const tempIdeal = Number(input);
if (
Number.isNaN(tempIdeal) ||
!Number.isInteger(tempIdeal) ||
tempIdeal < 1
) {
console.log("Escolha uma temperatura maior que 0.");
rl.close();
return;
}
let i = 1;
if (tempIdeal <= tempoMinimo) {
while (i <= tempoMinimo) {
console.log("Aquecendo... segundo " + i);
if (i === tempIdeal) console.log("Temperatura ideal atingida.");
i++;
}
} else {
while (i <= tempIdeal) {
console.log("Aquecendo... segundo " + i);
if (i === tempIdeal) console.log("Temperatura ideal atingida.");
i++;
}
}
rl.close();
},
);
},
);