22.10.2014 Views

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!