Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Projeto] Horário de funcionamento da loja (Exericicio)

Você está desenvolvendo um sistema para controlar o horário de funcionamento de uma loja. Durante a semana, a loja abre das 9h às 18h, mas aos sábados e domingos, ela abre em horário especial, das 10h às 14h.

Crie um programa que, dado o dia da semana em formato numérico:

0: Domingo
1: Segunda-feira
2: Terça-feira
3: Quarta-feira
4: Quinta-feira
5: Sexta-feira
6: Sábado
Verifique se a loja está aberta e qual o horário de funcionamento.

Se for sábado (6) ou domingo (0), a loja estará aberta em horário especial.
Nos outros dias, a loja estará aberta no horário normal.

Primeira vez que tentei eu fiz desse jeito:

switch (diaSemana) {
case 0:
console.log('Horario de domingo das 07:30 as 14:00');
break;
case 1:
console.log('horario de segundas das 07:30 as 21:00');
break;
case 2:
console.log('horario de terças das 07:30 as 21:00');
break;
case 3:
console.log('horario de quartas das 07:30 as 21:00');
break;
case 4:
console.log('horario de quintas das 07:30 as 21:00');
break;
case 5:
console.log('horario de sextas das 07:30 as 21:00');
break;
case 6:
console.log('horario de sabados das 07:30 as 21:00');
default:
break;
console.log('dia da semana não identificado');
break;
}

Mas depois que eu vi eu queria diminuir o tamanho do codigo.
entao fiz esse outro codigo e nao sabia que podia usar fall-throught (nao sei se e assim que escreve)

const diaSemana = 3;

switch (diaSemana) {
case 0:
case 6:
console.log('Horário de fim de semana: das 07:30 às 14:00');
break;

case 1:
case 2:
case 3:
case 4:
case 5:
    console.log('Horário de dias úteis: das 07:30 às 21:00');
    break;

default:
    console.log('Dia da semana não identificado');

}

comecei na programacao recente :)

1 resposta
solução!

Oi, Guilherme! Como vai?

Gostei de ver que, além de resolver o exercício, você também buscou uma forma de deixar o código mais limpo e organizado. O uso do fall-through no switch é uma prática bastante útil para agrupar casos que executam a mesma ação, reduzindo repetições e facilitando a manutenção do código. Para quem começou na programação recentemente, esse tipo de observação mostra uma boa evolução.

Uma dica interessante para o futuro é utilizar um if com o operador logico || quando apenas duas condicoes precisam ser verificadas. Veja este exemplo:


let diaSemana = 6;

if (diaSemana == 0 || diaSemana == 6) {
    console.log("Horario especial");
} else {
    console.log("Horario normal");
}

Esse código verifica se o dia é domingo ou sábado e exibe o horário correspondente de forma simples.

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