1
resposta

0.9 Desafio hora de praticar - Condição: IF | ELSE

alert('0.9 - Hora da Prática');

//Jogo para saber qual o dia da semana, informado pelo usuário let diaDaSemana = prompt('Qual é o dia da semanda?');

//Se a condição for atendida a resposta será Bom Fim de Semana! if diaDaSemana == 'Sábado'; alert('Bom fim de semana!'); else { alert('Boa Semana!'); } if diaDaSemana == 'Domingo'; alert('Bom fim de semana!') else{ alert('Boa Semana'); }

Desafio feito, porém o uso de Condição dentro de condição, não está correta?

1 resposta

Olá Ana Paula boa noite!

existe um pequeno problema de logica no seu código

//Se a condição for atendida a resposta será Bom Fim de Semana! 
if (diaDaSemana == 'Sábado'); {
    alert('Bom fim de semana!');
}else {
    alert('Boa Semana!'); 
} 
if (diaDaSemana == 'Domingo'); {
    alert('Bom fim de semana!')
} else{
    alert('Boa Semana'); 
}

dessa forma caso o usuario digite Sabado vai entrar no primeiro if e exibir Bom fim de semana, mas se o usuario não digitar sabado, vai entrar no else e exibir boa semana. O problema é que após fazer o primeiro if - else, vai entrar no segundo e verificar de novo, exibindo duas mensagens para o usuário.

existem três formas para resolver o problema

let diaDaSemana = prompt("Digite o dia da semana")

// primeira forma, elimando o primeiro else
if (diaDaSemana == 'Sábado'); {
    alert('Bom fim de semana!');
} 
if (diaDaSemana == 'Domingo'); {
    alert('Bom fim de semana!')
} else{
    alert('Boa Semana'); 
}
// assim caso digite Sábado entra no primeiro if, caso digite Domingo entra no segundo e caso contrario entra no else

// segunda forma, usando o else if
if (diaDaSemana == 'Sábado'); {
    alert('Bom fim de semana!');
} else if (diaDaSemana == 'Domingo'); {
    alert('Bom fim de semana!')
} else{
    alert('Boa Semana'); 
}
// note que a solução é bem semalhante a primeira apensas substitui o segundo else por um else if, mas na pratica o resultado é o mesmo

// A terceira é usando o operador || (ou / or)
if (diaDaSemana == 'Sábado' || diaDaSemana == 'Domingo'); {
    alert('Bom fim de semana!');
} else{
    alert('Boa Semana'); 
}
// Aqui vai verificar se diaDaSemana é igual a sabado ou igual a domingo. Se uma das condições der verdeira entra no if e exibe bom fim de semana, caso nenhuma das condições seja verdadeira entra no else

existem outras formas de lidar com o caso como o operador ternário por exemplo, mas acredito que o objetivo do exercicio era praticar o if - else