Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
09/09/2012 1 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha Muitos programas são desenvolvidos de modo que eles possam realizar varias tarefas (condições), de forma independente. Por exemplo, um programa que gerencie um caixa eletrônico de um banco deve oferecer ao usuário algumas opções em relação a ação que ele pretende realizar na sua conta como a emissão do saldo atual, a emissão de um extrato, a realização de um saque realização de um deposito 177 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha Um menu de opções com a indicação das diversas tarefas que o programa pode executar e a permissão de que o usuário escolha a tarefa pretendida. Como, em geral, são varias as opções disponíveis (cada uma delas com uma sequência especifica de comandos) e só uma das opções será a escolhida, e necessária uma estrutura que decide entre varias sequencias de comandos qual vai ser executada ou quais vão ser executadas. O comando switch tem este objetivo. 178 09/09/2012 2 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha escolha(opção) inicio caso 1: inicio bloco de comandos fim caso n: inicio bloco de comandos fim senao: inicio bloco de comandos fim fim_escolha switch( variável int n ou char ) { case op1 : { bloco de comandos; break; } case opn: { bloco de comandos; break; } default : { bloco de comandos; } } 179 COMPARAÇÃO DA SINTAXE ENTRE PSEUDOCÓDIGO X C++ ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha A condição argumento do comando deve resultar num valor do tipo int ou num valor do tipo char e, opcionalmente, a ultima instrução de cada uma das sequencias. A semântica é que a condição é avaliada e as sequencias de instruções situadas entre o valor da condição apresentado nos cases e um comando break ou o delimitador do comando são executadas. 180 09/09/2012 3 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha Se o valor da condição for diferente de todas as opções dadas pelas constantes associadas aos cases, a sequência de instruções vinculada ao default será executada. 181 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha Exemplo #include<iostream> using namespace std; int main(){ int numero; cout<<"Digite um numero: "; cin>>numero; switch(numero){ case 1: cout<<"Voce digitou 1"; break; case 2: cout<<"Voce digitou 2"; break; case 3: cout<<"Voce digitou 3"; break; default: cout<<"Opcao Invalida!"; } system("pause"); EXIT_SUCCESS; } 182 09/09/2012 4 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha Exemplo #include<iostream> using namespace std; int main(){ int numero; cout<<"Digite um numero: "; cin>>numero; switch(numero){ case 1: case 2: case 3: cout<<"Primeiro trimestre"; break; case 4: case 5: case 6: cout<<"Segundo trimestre"; break; case 7: case 8: case 9: cout<<"Terceiro trimestre"; break; case 10: case 11: case 12: cout<<"Quarto trimestre"; break; } system("pause"); EXIT_SUCCESS; } 183 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha Exemplo #include<iostream> using namespace std; int main() { int x; cout<<"Digite um número inteiro entre 1 e 5 \n"; cin>>x; switch (x) { case 1: cout<<"Valor de x: "<< x; break; case 2: cout<<"Valor do dobro de x: " << 2*x; break; case 3: cout<<"Valor do triplo de x: "<< 3*x; break; default: cout<<"Valor digitado: "<< x; } system("pause"); } 184 09/09/2012 5 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha A sequencia de instruções vinculada a uma opção case pode ser vazia, caso em que, evidentemente, nada e executado; Se apenas uma sequência de comandos deve ser executada, deve-se encerra-la com um break; A opção default e opcional: se ela não aparece na estrutura e o valor da condição for diferente de todos os valores disponíveis, nada e executado e a instrução logo após o comando switch passa a ser executada. 185 ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Costa Lubanco / Joelio Piraciaba Estrutura condicional múltipla escolha Exercício Use a estrutura switch para fazer uma calculadora simples com as operações +,-,*,/. Na soma e subtração ler 3 valores, efetuar a operação aritmética, mostrar o resultado. Na multiplicação ler 2 valores, efetuar a operação aritmética, mostrar o resultado. Na divisão ler 2 valores, se n2==0 mostre “erro”. Se n1=n2. mostre “indeterminado”. Caso contrário efetuar a operação aritmética, mostrar o resultado. 186