Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

switch-case

Console.WriteLine("Olá, seja bem  vindo oa Sistema de atendimento ao cliente!");

Console.Write("Qual é o seu nome? ");
string nome = Console.ReadLine()!;

Console.Write("Qual o momento do dia você se encontra: ");
string periodoDoDia = Console.ReadLine()!;
string periodo;
 
periodo = periodoDoDia.ToLower() switch
{
     "dia" => "Bom dia",
     "tarde" => "Boa tarde",
     "noite" => "Boa noite",


};

Console.WriteLine($"{periodo} {nome}");
1 resposta
solução!

Olá, Edla, como vai?

O código que você desenvolveu demonstra uma excelente compreensão da estrutura switch expression no C#. A lógica para capturar o nome do usuário e o período do dia, convertendo a entrada para letras minúsculas com ToLower(), garante que o programa seja mais resiliente a diferentes formas de digitação.

Uma observação importante sobre o funcionamento do switch é que ele precisa ser exaustivo ou conter uma cláusula padrão. No seu código, se o usuário digitar algo diferente de dia, tarde ou noite, o programa apresentará um erro de execução porque não há uma instrução para lidar com valores inesperados. Para solucionar isso e cumprir o requisito de exibir uma mensagem em caso de opção inválida, você pode utilizar o descarte representado pelo sublinhado.

Um exemplo de como aplicar essa tratativa seria adicionar a linha _ => "Opção inválida" ao final do bloco switch. Assim, caso a entrada seja diferente das opções previstas, a variável periodo receberá esse texto informativo, mantendo a estabilidade do sistema.

Parabéns por compartilhar seu exercício e continue praticando suas habilidades de lógica. Caso surjam outras dúvidas, o fórum permanece à disposição.

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