A estrutura de seleção switch case também pode ser utilizada com caracteres. Imagine que você está desenvolvendo um programa com as seguintes funcionalidades:
- cadastrar produto
- vender produto
- buscar produto
- imprimir relatório
- sair
Na aula anterior vimos como elaborar uma solução para este problema pedindo para o usuário digitar um número para cada opção do menu. Contudo, podemos também trocar o número por uma letra e nossa solução continuará funcionando perfeitamente.
// código sitch case com caracteres
char opcao;
printf("a - Cadastrar produto\nb - Vender produto\nc - Buscar produto\nd - Imprimir relatório\ne - Sair");
scanf("%c", &opcao);
switch(opcao){
case 'a':
// seu código para o caso 1
break;
case 'b':
// seu código para o caso 2
break;
case 'c':
// seu código para o caso 3
break;
case 'd':
// seu código para o caso 4
break;
case 'e':
// seu código para o caso 5
break;
default:
// para informar uma opção inválida
}
Lembre-se que ‘a’ é diferente de ‘A’ e que com a estrutura de seleção switch case não é possível verificar intervalos como:
case 'a' || 'A':
Para fazer isso são necessários dois cases, assim:
case 'a': // codigo do case a break; case 'A': // código do case A break;
É sempre interessante colocar ao final do switch case a opção default. Esta opção será executada caso o valor digitado pelo usuário seja diferente de todos os casos anteriores, indicando que o usuário digitou uma opção inválida.
