Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Valor do quadruplo de 3: 12<br />
Valor digitado: 3<br />
e se for executado x = 10 apenas a sequência vinculada à condição default será a executada e a saída será:<br />
Valor digitado : 10<br />
Três observações:<br />
1. A sequência de instruções vinculada a uma opção case pode ser vazia, caso <strong>em</strong> que, evident<strong>em</strong>ente,<br />
nada é executado;<br />
2. Se apenas uma sequência de comandos deve ser executada, deve-se encerrá-la com um break;<br />
3. A opção default é opcional: se ela não aparece no comando e o valor da Expressão for diferente de<br />
todos os valores disponíveis, nada é executado e a instrução logo após o comando switch passa a ser<br />
executada.<br />
3.7 Ex<strong>em</strong>plos Parte III<br />
1. O programa para determinar o número de dias de um mês (ex<strong>em</strong>plo 7 da seção anterior) poderia<br />
utilizar o comando switch:<br />
/* Programa para determinar o numero de dias de um mes*/<br />
#include <br />
main()<br />
{<br />
int Mes, Ano, NumDias;<br />
printf("Digite o mes \n");<br />
scanf("%d", &Mes);<br />
switch (Mes)<br />
{<br />
case 2 :<br />
printf("Digite o ano");<br />
scanf("%d", &Ano);<br />
if (Ano % 4 != 0)<br />
NumDias = 28;<br />
else<br />
NumDias = 29;<br />
break;<br />
case 4 :<br />
case 6 :<br />
case 9 :<br />
case 11 : NumDias = 30; break;<br />
default : NumDias = 31;<br />
}<br />
printf("O mes de numero %d t<strong>em</strong> %d dias \n", Mes, NumDias);<br />
}<br />
Observe que se o mês de entrada for 2, o programa pede o ano para determinar se ele é bissexto. Aí,<br />
determina o número de dias e a instrução break encerra o comando switch. Se a entrada for 4, com a<br />
sequência de comandos vinculada ao case 4 é vazia (e, portanto, não contém break) as sequências vinculadas<br />
aos cases seguintes são executadas até o break do case 11 (para os meses 4, 6, 9 e 11 o número de dias é<br />
igual a 30!). Se a entrada não for 2, 4, 6, 9 e 11 a opção default será executada e, portanto, o mês terá 31 dias.<br />
Evident<strong>em</strong>ente, fica faltando discutir a possibilidade de uma entrada inválida como, por ex<strong>em</strong>plo, 13. Isto<br />
será discutido no próximo capítulo.<br />
2. Vejamos um ex<strong>em</strong>plo onde a expressão do comando switch retorna um valor do tipo char. Trata-se<br />
da geração de uma calculadora para as quatro operações aritméticas básicas.<br />
/*Calculadora eletrônica*/<br />
#include