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.