1
resposta

[Dúvida] Porque meu prompt do chute dia não está aparecendo?

alert('Seja Bem vindo'); let diaSemana = [Sábado, Sabado, sabado, Domindo, domingo]; let chuteDia = prompt('Qual é o dia da semana? ');

if (chuteDia == diaSemana) { alert(hoje é ${chuteDia}, tenha um bom fim de semana); } else { alert(hoje é ${chuteDia}, tenha uma boa semana); }

//---------------------------------------------

let numero = prompt('Digite um número:');

if (numero >= 0){ alert(você digitou: ${numero}, é positovo); } else { alert(você digitou: ${numero}, é negativo); }

//---------------------------------------------

let pontuacao = prompt('Digite a pontuação obtida:');

if (pontuacao >= 100){ alert(a pontuação foi: ${pontuacao}. Parabéns, você venceu!); } else { alert(você digitou: ${pontuacao}. Tente novamente para ganhar); }

//---------------------------------------------

let saldoConta = prompt('Digite o saldo: '); alert(o saldo atual em conta é: ${saldoConta});

//---------------------------------------------

let nome = prompt('Digite seu nome: '); alert(Seja bem vindo ${nome});

1 resposta

O problema com o código do chute dia é que está criando uma lista (Array) com os dias da semana e checando se a lista inteira é igual a sua variável chuteDia. Além disso você também esqueceu de utilizar a crase para declarar a string como um "template literal".

Existem algumas formas de arrumar o código:

  • Utilizar uma estrutura de repetição for para iterar sob sua lista e checar as igualdades
  • Checa manualmente pelas igualdades

Utilizando um for loop:

alert("Seja bem-vindo")

let diaSemana = [Sabado, Domingo]

let chuteDia = prompt('Qual é o dia da semana?')

for (let i = 0; i < diaSemana.length(); i++) {
    if (chuteDia.toLowerCase() == diaSemana[i].toLowerCase()) {
        alert(`Hoje é ${chuteDia}, tenha um bom fim de semana`);
    } else {
        alert(`Hoje é ${chuteDia}, tenha uma boa semana`)
    }
}

Com esse código, podemos iterar repetidamente na lista diaSemana, onde para cada item da lista, checamos se este item em minúsculas é igual ao chuteDia escrito pelo usuário também convertido para minúsculas, caso seja igual, criamos um alerta dizendo o dia da semana e desejando um bom fim de semana, caso contrário fazemos o mesmo porém desejamos uma boa semana.

Checando igualdades manualmente

alert('Seja bem vindo')

let chuteDia = prompt('Qual é o dia da semana?')

if (chuteDia.toLowerCase() == "Domingo".toLowerCase() || chuteDia.toLowerCase() == "Sabado".toLowerCase()) {
    alert(`Hoje é ${chuteDia}, tenha um bom fim de semana`);
} else {
    alert(`Hoje é ${chuteDia}, tenha uma boa semana`);
}

No código acima, checamos se o chuteDia convertido para minúsculas é igual a string "Domingo" ou "Sábado" Também convertidos em minúsculas, ao fazer isso, blindamos o programa contra caixas altas. E caso sejam iguais, desejamos um bom fim de semana, e caso contrário desejamos uma boa semana.

Algo a se considerar na lógica geral de seu programa seria encontrar uma forma de checar se o dia inserido pelo usuário seria mesmo um dia da semana, pois no código atual estamos desejando uma boa semana mesmo com o usuário digitando qualquer palavra.