Exercícios Resolvidos de Estruturas de Repetição: while e do-while

Ver Teoria

Enunciado

Crie uma calculadora que resolva as quatro operações (soma, subtração, multiplicação e divisão). O programa deve perguntar qual operação o usuário quer resolver, receber dois números, e efetuar a operação. Em seguida, o programa pergunta novamente qual operação deve ser resolvida. O programa só será finalizado quando o usuário pressionar uma tecla de finalização.

Passo 1

Essa questão vai ser grande. Mas não se preocupa que a gente vai resolver passo a passo.

Primeiro, ele quer que a gente crie uma calculadora, que é uma espécie de menu de opções de contas, e a gente já viu que a melhor forma de fazer esse tipo de coisa é usando a estrutura de seleção s w i t c h

Mas o enunciado diz que, quando terminar uma operação, o programa pergunta qual a próxima operação, ou seja, essa calculadora vai ser repetida até que uma tecla de finalização seja pressionada. Por isso vamos colocar o código da calculadora dentro do laço d o - w h i l e pra garantir que a calculadora seja executada várias vezes.

Passo 2

Então vamos começar a codar.

Bem, se isso é uma calculadora que aplica uma operação simples a 2 números, então precisaremos receber esses dois números reais e guardar um resultado. Então criamos três variáveis do tipo f l o a t chamadas n u m 1 , n u m 2 , r e s u l t a d o .

Também vamos dar ao usuário o poder de escolher qual operação ele quer fazer, então vamos criar uma outra variável chamada o p e r a c a o do tipo c h a r . A função dessa variável é receber a escolha de operação do usuário.

Passo 3

Agora vamos iniciar nosso loop. E pra que vamos usar um loop? Porque o usuário pode fazer quantas contas ele quiser e podem ser muitas. Então se a gente colocar a calculadora dentro de um loop, cada conta que o usuário quiser fazer vai ser uma iteração (uma “volta”) nesse loop. Sacou? Então vamos ao loop!

A expressão de teste mais simples possível pra um loop é usar uma variável lógica. Quando essa variável for verdadeira o loop continua. Quando for falsa o loop é quebrado.

Então, primeiro vamos criar uma variável chamada c o n d i c a o do tipo b o o l inicializada com o valor lógico t r u e

E vamos colocar a seguinte expressão no nosso laço: enquanto a variável c o n d i c a o for verdadeira o loop vai estar ativo!

Pra fazer isso, a gente coloca o d o no começo e abre a chave, pra escrever nosso programa. E o w h i l e fica lá no final com a nossa condição de parada.

Pronto! Agora tenha atenção. Quase tudo que vamos escrever depois vai ser feito dentro desse loop

Passo 4

Agora nós precisamos perguntar ao usuário os valores das variáveis n u m 1 , n u m 2 e o p e r a c a o ! Mas note que a cada conta que o usuário quiser fazer, a gente vai ter que receber novos valores e vamos usar uma nova operação. Cada conta vai ser uma iteração do loop. Então vamos colocar o código de receber dados dentro do loop!

Usando c o u t vamos informar o usuário sobre como usar o programa. Informamos que ele precisa digitar S se quiser sair e, com o comando da linha 12, a gente diz pra eles as opções de operação que ele tem. Por fim, com o comando c i n vamos receber essa operação e em seguida receberemos cada um dos números.

Passo 5

Agora vamos construir a calculadora utilizando o comando s w i t c h . A expressão de teste do comando s w i t c h será o valor da variável o p e r a c a o , pois o que vamos fazer depende da operação escolhida pelo usuário.

Vamos observar o primeiro caso. Caso o usuário pressione ‘ + ’, os dois números serão adicionados e o resultado impresso na tela.

Seguindo esta lógica vamos fazer o mesmo para as outras três operações:

Também temos que adicionar um botão de finalização do programa. Vamos usar a letra “S” de “Sair”, porque lá na linha 11, a gente informou pro usuário que ele tinha que digitar S , caso quisesse sair. Então se o usuário pressionar ‘ S ’ o programa vai entrar nesse quinto c a s e e será finalizado.

Pra interromper o loop, o valor da variável c o n d i c a o deve mudar para f a l s e (linha 44). Vamos aproveitar pra usar o c o u t para enviar uma mensagem de finalização pro usuário.

Ou seja, temos esses 5 c a s e s , um pra cada opção de operação e mais 1 pra opção de sair do programa. E, a cada volta, o programa só pode entrar em 1 delas, dependendo do valor da variável o p e r a c a o .

E vamos adicionar também um comando d e f a u l t pro caso do usuário inserir uma opção inválida. Imagina se ele digita " A " ou qualquer outra coisa inválida na hora da operação. Daí o programa imprime na tela “Comando invalido”.

E com isso finalizamos o programa.

Resposta