Programação C – Switch, case e default

Opa, depois de um bom tempo sem escrever nada de programação C, vamos dar continuidade agora a uma estrutura que é braço direito da Estrutura Condicional If, Switch Case, eu classificaria as duas estruturas (If e Switch) como estruturas de tomadas de decisões, diferenciando que If posso trabalhar com expressões para analise, já switch eu trabalho com constante (int ou char).

Sintaxe para uso do switch:

/**************************************************************/
switch(variavel_da_opcao){
          case 1:
                      //Implemente o codigo aqui.
                      break;
          case 2:
                      //Implemente o codigo aqui.
                      break;
          case 3:
                      //Implemente o codigo aqui.
                      break;
          default:
                      //Implemente o codigo aqui.
/**************************************************************/

Abaixo um pequeno exemplo utilizando a estrutura Switch Case:

Vamos entender o programa acima:

Entra em uma estrutura de repetição infinita while(1), parando apenas quando retornar diferente de 1, com isso economizo declarar uma variável, mas tome cuidado ao usar isso ok? Continuando, ae inseri alguns printfs, e o último sendo um “menu” de opções, e o scanf abaixo aguarda o operador digitar o opção referente, digitando  é armazenada na variável opcao e logo em seguida entra no switch carregando como valor a variável opcao, e analisa os “cases”, prefiro dizer assim, porque CASO você digitou 1 ele irá ao case 1: e executara o código aninhado a este case, CASO seja o 2 entra no case 2: sem nem entrar no 1, e assim sucessivamente, e se você digitar qualquer número diferente de 1, 2 ou 3 irá para o default: e no caso exibira a mensagem de “Opcao Invalida”.

O Switch Case pode ser melhor visualizado na imagem abaixo:

Conseguiu identificar alguma diferença comparado ao If  e else? O mesmo programa sendo escrito utilizando a estrutura condicional If e else, se você digitar 3, ele vai passar pelo primeiro if, if opcao == 1 (“Se opcao == 1“), ele viu que não é 3 vai para o próximo e assim até encontrar o 3 ou então sair do programa, já o switch digitando a opção ele checa os case, não a operação lógica e entra, e o break é opcional, mas com ele, acabando o case ele volta para o while no nosso caso, sem o break, ele continua checando os demais cases.

Em uma estrutura em que tenha opções e menu, acho que o Switch Case se sai melhor que If e else, mas cada caso é um caso, então analise, verifique e implemente o que melhor lhe agradar e funcionar.

Até a próxima!

Share Button

CC BY-NC-SA 4.0 Programação C – Switch, case e default by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.