Exercícios Resolvidos de Loops infinitos, loops aninhados e os comandos break e continue

Ver Teoria

Enunciado

Faça um programa que some todos os números inteiros ímpares positivos que o usuário digitar. Se digitar um número negativo o programa é finalizado.

Passo 1

Vamos lá pessoal!

A questão quer que a gente receba vários números do usuário.

Se o usuário pode digitar vários números, então vai ser uma boa ideia usar um loop infinito. Mas primeiro vamos declarar nossas variáveis.

Vamos precisar de duas variáveis inteiras: n u m guarda os números digitados pelo usuário, e s o m a guarda o valor dos números impares somados.

Passo 2

Agora vamos iniciar o nosso loop infinito. Pra isso vamos criar um laço w h i l e com uma condição que será verdadeira para sempre:

Dentro do nosso loop vamos utilizar o c o u t vamos pedir um número pro usuário, e com c i n vamos guardar o valor na variável n u m

Na linha 13 e 14, a gente usa o comando i f vamos verificar se n u m   é negativo. Se for o caso, o comando b r e a k é ativado e o loop é interrompido.

Já na linha 16 e 17, vamos considerar a segunda condição. Se o número digitado for par então não precisamos fazer nada. Vamos simplesmente pular para a próxima iteração utilizando o comando c o n t i n u e .

Mas se n u m for impar as condições acima não são atendidas, e nesse caso podemos efetuar a operação de soma da linha 19.

E com isso o nosso loop está feito!

Passo 3

Quando o loop for quebrado a gente tem que imprimir o valor da variável s o m a . Pra isso usamos o comando c o u t .

Resposta