Exercícios Resolvidos de Estruturas de seleção: switch-case

Ver Teoria

Enunciado

Um estudante escreveu um código que recebe um número entre 1 e 7, e dá como resposta o dia da semana equivalente: 1 é domingo, 2 é segunda, e assim por diante até chegar em 7 que é sábado.

Porém, o código que ele escreveu tem um erro:

  1. O que acontece se rodar o código com este erro? Por que isso ocorre?
  2. Encontre o erro e reescreva o código corrigido

Passo 1

E aí pessoal!

A questão pede pra gente rodar o código. Então vamos lá!

O programa vai pedir pra gente digitar um número, eu vou digitar o número 2 :

Olha só que estranho, ao invés de responder com “Segunda”, o programa mostra todas as os dias da semana seguinte também.

Passo 2

Vamos voltar pro programa e entender o motivo.

Primeiro, nas linhas 08 a 10 o programa pede pra gente inserir um número. No nosso caso, eu inseri o número 2.

Então, o programa avança para a linha 13, onde o s w i t c h recebe o valor que digitamos

Seguindo em frente, o programa testa a condição da linha 15, e não é correspondente

Ele pula então pra próxima condição, na linha 18. Esse c a s e é igual ao valor digitado, então o programa entra na linha 19 e imprime a mensagem “Segunda”

E é a partir daqui que os problemas começam. Não existe nenhuma mensagem de finalização do comando! Então, o programa continua entrando nas expressões seguintes.

Em outras palavras, está faltando o comando b r e a k

Passo 3

Agora que já temos o problema diagnosticado, vamos corrigi-lo. Tudo que precisamos fazer é adicionar o comando b r e a k ao final de cada c a s e

E pra deixar o programa mais elegante, vamos adicionar um comando d e f a u l t , pro caso do usuário inserir um valor que não seja de 1 a 7 , será impressa uma mensagem de “Valor invalido”

E prontinho! Questão feita!

Resposta