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

[Projeto] Praticando JavaScript: Condicionais - Resolução 10 - Nível de Bateria do Dispositivo

Praticando JavaScript: Condicionais - Resolução 10 - Nível de Bateria do Dispositivo

O código conta com 2 functions, uma para verificar a carga de bateria do dispositivo usando operador ternário, e outra para verificar se a entrada do valor da carga inserida pelo usuário é válida.

let bateria = Number(prompt("Digite a porcentagem de carga da bateria: "));
bateria = verificarSeEhNumero(bateria);

const resultado = verificarBateria(bateria);
console.log(resultado);

function verificarSeEhNumero(bateria) {
    while (isNaN(bateria) || bateria < 0 || bateria > 100) {
        bateria = Number(prompt("Entrada inválida. Por favor, digite uma porcentagem válida (0-100): "));
    }
    return bateria;
}

function verificarBateria(bateria) {
    return bateria < 20 
    ? `${bateria}% - Carga da bateria crítica.` 
    : bateria <= 80 
    ? `${bateria}% - Carga da bateria moderada.` 
    : `${bateria}% - Carga da bateria cheia.`;
}
2 respostas

Oi, Pedro! Como vai?

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

Foi ótima a separação das responsabilidades em duas functions, uma cuidando da validação da entrada e outra focada apenas na lógica da bateria. Isso deixa o código mais organizado e facilita a leitura e a manutenção.

Uma dica interessante para o futuro é usar Math.floor para garantir que o valor trabalhado seja sempre inteiro, evitando resultados inesperados caso o usuário digite números decimais. Veja este exemplo:


let bateria = Number(prompt('Digite a porcentagem da bateria:'));
bateria = Math.floor(bateria);
console.log(bateria);

Esse código remove as casas decimais do número informado, trabalhando apenas com valores inteiros.

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

Atualização de Código

let bateria = Math.floor(Number(prompt("Digite a porcentagem de carga da bateria: ")));
bateria = verificarSeEhNumero(bateria);

const resultado = verificarBateria(bateria);
console.log(resultado);

function verificarSeEhNumero(bateria) {
    while (isNaN(bateria) || bateria < 0 || bateria > 100) {
        bateria = Number(prompt("Entrada inválida. Por favor, digite uma porcentagem válida (0-100): "));
    }
    return bateria;
}

function verificarBateria(bateria) {
    return bateria < 20 
    ? `${bateria}% - Carga da bateria crítica.` 
    : bateria <= 80 
    ? `${bateria}% - Carga da bateria moderada.` 
    : `${bateria}% - Carga da bateria cheia.`;
}