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

[Dúvida] [Dúvida] - Exercício do dia da semana

Olá, pessoal!

Tentei fazer o desafio sugerido do dia da semana: "Pergunte ao usuário qual é o dia da semana. Se a resposta for "Sábado" ou "Domingo", mostre "Bom fim de semana!". Caso contrário, mostre "Boa semana!".

Esse foi o código que montei:

alert ('Bem-vindo ao "Tenha uma boa semana!" O site que sempre estará aqui para te desejar uma boa semana ;)');
let resposta = prompt('Qual o dia da semana de hoje?');
console.log('Dia da semana:', resposta);
let diaDeSabado = Sabado;
let diaDeDomingo = Domingo; 
if (resposta == diaDeSabado) {
    alert ('Tenha um bom fim de semana!');
} else {
    alert ('Tenha uma boa semana!');
}
if (resposta == diaDeDomingo) {
    alert ('Tenha um bom fim de semana!');
} else {
    alert ('Tenha uma boa semana!');
}

O primeiro alert e o prompt fazendo a pergunta aparecem certinho, no entanto, quando escrevo a resposta ou a resposta errada, o alert indicado para cada situação não aparece na tela. O que posso mudar no meu códiogo para que o alert depois de dar a resposta apareça? Fiz algo de errado no código?

Obrigada!

6 respostas

Oi Ana,

O primeiro erro é que a variável diaDeSabado e diaDeDomingo não estão recebendo uma string. Dessa forma ela tenta encontrar essa variavel e não encontra, dando esse erro: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Primeiro você tem que declarar o valor dessas duas variaveis como string "Domingo" e "Sabado"

Segundo que se você declarar com letra minúscula e escrever no prompt com letra maiúscula, vai dar erro, pois o JavaScript verifica se são iguais. Isso também serve para os acentos.

solução!

Muito boa noite Ana, tudo bom?

Então, o problema está o trecho

let diaDeSabado = Sabado;
let diaDeDomingo = Domingo;

Basicamente, você está atribuindo valores às variáveis diaDeSabado e diaDeDomingo que não foram definidos. Para que o código funcione corretamente e a resposta digitada pelo usuário seja comparada corretamente, você deve colocar os valores entre aspas, seja simples ou duplas, conforme o tipo de aspas que você está usando no restante do seu código.

Exemplo: let diaDeSabado = "Sabado"; let diaDeSabado = 'Sabado';

Uma sugestão como colega nisso tudo também: Sei que não deve ter sido ensinado no curso, mas para otimizar o código, sugiro tirar o trecho

if (resposta == diaDeDomingo) {
    alert ('Tenha um bom fim de semana!');
} else {
    alert ('Tenha uma boa semana!');
}

e mudar para apenas um If:

if (resposta == diaDeSabado || resposta == diaDeDomingo) {
    alert ('Tenha um bom fim de semana!');
} else {
    alert ('Tenha uma boa semana!');
}

Nesse If, o elemento || significa (ou). Ou seja, o If verifica se a respota é igual ao diaDeSabado (ou) o diaDeDomingo.

Ótimo código! :)

Muito obrigada Nadine por apontar a necessidade do uso de String nos termos! E muito obrigada Clara pela explicação ótima e bem detalhada! Corrigi meus erros e rodou direitinho com a mensagem aparecendo em ambas situações! :D

PS.: Realmente, a parte que estou no curso ainda não ensinou sobre esse elemento ||, usei ele e foi super útil! ;)

Realmente, excelente explicação sobre o uso do elemento: II

Obrigado.

Adorei está explicação. Me foi muito útil pela clareza com que foi detalhada. Obrigada a todos que contribuíram.