Aula 7Aulas teóricas - notas...Aula 5Aula 6

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

Aula 7Aulas teóricas - notas...Aula 5Aula 6