Aula 6
----------------------------------------
Mais instruções: switch, break, continue
----------------------------------------
switch
------
switch(Expr){
case Exp1:
Insts1
...
case Exp2:
Insts2
....
....
default: Instsn
}
Nota: A última instrução de Insts1, Insts2,... é usualmente
um break!
break;
------
acaba o ciclo ou switch mais interno a que pertence...
continue;
---------
ignora o que resto das instruções do ciclo,
continuando o ciclo...
-----------------------------------------------------------------
Exemplo1, terminando um ciclo a meio...
---------------------------------------
s=0;
while(1==1){ //-- ou while(1){
scanf("%d",&a);
if(a<0)
break;
s=s+a;
}
Não se deve abusar dos "breaks"! ... porquê?
Exemplo2, calculadora...
------------------------
...
erro=0;
switch(comando){
case 1:
r=a+b;
break;
case 2:
r=a-b;
break;
case 3:
r=a*b;
break;
case 4:
if(b==0)
erro=1;
else
r=a/b;
break;
default:
erro=1;
}
if(erro)
printf(...);
else
printf(...r...);
Exercício 1
-----------
Implementar uma calculadora com as 4 operações elementares (+,-,*,/)
que serão representadas por 1, 2, 3, 4 respectivamente.
Exemplo de funcionamento:
$ Operando 1? 100
$ Operando 2? 22
$ Operador (1:+, 2:-, 3:*, 4:/)? 3
$ Resultado 2200
PC/PI - página reservada - versão 2005.02.08