Como criar uma calculadora com a instrução switch em C ++

Você pode usar a instrução switch em C ++ para fazer escolhas entre opções. Os seguintes SwitchCalculator programa usa o interruptor declaração de implementar uma calculadora simples:

// SwitchCalculator - use a instrução switch para // implementar uma calculadora # incluem #incluir #incluir usando namespace std-int main (int nNumberofArgs, char * pszArgs []) {// inserir operand1 op operand2int nOperand1-int nOperand2-char cOperator-cout lt; lt; "Entrar 'value1 value2 op' n" lt; lt; "Onde op é +, -, *, / ou%:" lt; lt; endl-cin >> nOperand1 >> cOperator >> nOperand2 - // eco do que o enteredcout operador lt; lt; nOperand1 lt; lt; "" Lt; lt; cOperator lt; lt; "" Lt; lt; nOperand2 lt; lt; "=" - // Agora calcular o result- lembrar que o usuário // pode entrar unexpectedswitch alguma coisa (cOperator) {case '+': cout lt; lt; nOperand1 + nOperand2-break-caso '-': cout lt; lt; nOperand1 - nOperand2-break-caso '*': case 'x': case 'X': cout lt; lt; nOperand1 * nOperand2-break-caso '/': cout lt; lt; nOperand1 / nOperand2-break-caso '%': cout lt; lt; nOperand1% nOperand2-break-default: // não entendeu o operatorcout lt; lt; "Não é entendida" -} cout lt; lt; endl - // espera até que o usuário está pronto antes de terminar o programa // para permitir que o usuário veja o resultscout programa lt; lt; "Pressione Enter para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - retornar 0-}

Este programa começa por avisar o usuário para entrar "Value2 op value1" Onde op é um dos operadores aritméticos comuns +, -, *, / ou%. O programa, em seguida, lê as variáveis nOperand1, cOperator, e nOperand2.

O programa começa por ecoando de volta ao usuário o que ele lê a partir do teclado. Segue-se este com o resultado do cálculo.

Ecoando a entrada de volta para o usuário é sempre uma boa prática de programação. Ele dá a confirmação do usuário que o programa ler sua entrada corretamente.

o interruptor em cOperator diferencia entre as operações que esta calculadora implementa. Por exemplo, no caso em que cOperator é '+', o programa informa a soma de nOperand1 e nOperand2.

Porque 'X' é outro símbolo comum para multiplicar, o programa aceita '*', 'X', e 'x' tudo como sinônimos de multiplicar usando o caso # 147-fall através da função # 148-. O programa emite uma mensagem de erro se cOperator não corresponde a nenhum dos operadores conhecidos.

A saída de uma amostra de algumas corridas aparece da seguinte forma:

Enter 'op value1 value2'where op é +, -, *, / ou%:22 x 622 x 6 = 132Press Enter para continuar. . .Enter 'Op op value1 value2'where é +, -, *, / ou%:22/622/6 = 3Prima Enter para continuar. . .Enter 'Op op value1 value2'where é +, -, *, / ou%:22% 622% 6 = 4Prima Enter para continuar. . .Enter 'Op op value1 value2'where é +, -, *, / ou%:22 $ ​​622 $ ​​6 = não é understoodPress Enter para continuar. . .

Observe que a corrida final executa o caso padrão do interruptor declaração desde que o personagem '$' não encontrou nenhum dos casos.

menu