Neste quarto artigo veremos os comandos de decisão SWITCH/CASE, usaremos os exemplos do segundo artigo para demonstrar alguns exemplos.
Usando a instrução SWITCH você pode simular assim como no IF/ELSE a utilização de várias instruções, podendo somente verificar uma relação de igualdade (==),
não se pode usar os operadores (&&, || ou !) os quais vimos no segundo artigo.
A instrução CASE avalia o argumento que apresenta o tipo definido na instrução SWITCH, caso mais de uma condição seja igual ela não será válida.
Exemplo:
int media;
Console.WriteLine ("Digite a média do aluno:");
media = Convert.ToInt32(Console.ReadLine());
switch(media)
{
case 1:
Console.WriteLine ("Aluno reprovado");
break;
case 2:
Console.WriteLine ("Aluno reprovado");
break;
case 3:
Console.WriteLine ("Aluno reprovado");
break;
case 4:
Console.WriteLine ("Aluno reprovado");
break;
case 5:
Console.WriteLine ("Aluno reprovado");
break;
case 6:
Console.WriteLine ("Aluno aprovado");
break;
case 7:
Console.WriteLine ("Aluno aprovado");
break;
case 8:
Console.WriteLine ("Aluno aprovado");
break;
case 9:
Console.WriteLine ("Aluno aprovado");
break;
case 10:
Console.WriteLine ("Aluno aprovado");
break;
}
Acima vemos que ao receber o valor digitado pelo usuário na variável "media", é usado o comando CONVERT.TOINT32, o qual veremos em artigos futuros.
Assim como nos comandos IF/ELSE é necessário o uso dos caracteres ({}) para o controle do fluxo das informações.
Devemos sempre usar o comando BREAK para separar cada condição, finalizando o caso anterior.
No exemplo anterior vimos 10 condições, veremos abaixo um exemplo o qual tem um valor DEFAULT, que caso nenhuma condição seja a do CASE correspondente.
Exemplo:
string dia;
Console.WriteLine("Digite um dia da semana");
dia = Console.ReadLine();
switch(dia)
{
case "segunda":
Console.WriteLine("Primeiro dia da semana.");
break;
case "terca":
Console.WriteLine("Segundo dia da semana.");
break;
case "quarta":
Console.WriteLine("Terceiro dia da semana.");
break;
case "quinta":
Console.WriteLine("Quarto dia da semana.");
break;
case "sexta":
Console.WriteLine("Quinto dia da semana.");
break;
case "sabado":
Console.WriteLine("Sexto dia da semana.");
break;
case "domingo":
Console.WriteLine("Sétimo dia da semana.");
break;
default:
Console.WriteLine("Dia da semana inexistente");
break;
}
Quando utilizamos valores como uma string no CASE é necessário utilizar ("").