Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida Cruel, iniciante C++


ldsouza

Pergunta

Bom dia a todo,

 

Estou iniciando em C++ e tenho utilizado URI Online Judge, vídeo aulas e um aplicativo celular chamado Learn C++

 

Meu problema é o seguinte, existe uma etapa do aplicativo que eu de fato "congelei", não estou conseguindo compreender de forma sólida o que acontece com o código para ter o output gerado.

 

Segue o código:

 

#include <iostream>

using namespace std;

 

int main()

{

int num = 1;

int number;

int total = 0;

 

while (num <= 5) {

cin >> number;

total += number;

num++;

}

 

cout << total << endl;

 

return 0;

}

 

Eu entendo que o resultado será a somatória de todos os valores exibidos dentro da variável total, mas como isso ocorre, por que isso ocorreu, eu não consegui compreender de forma sólida;

 

Gostaria que me explicassem minuciosamente a forma que o código trabalhou para que tenha as saídas que tem.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Galera, estou quebrando a cabeça e estou começando a desmembrar esse código...

 

A linha "while (num <= 5)" conversa com a variável "int num = 1"; sendo o valor da variável "1", o loop "rodará" as cinco vezes, se "int = 2", o loop "rodará" 4 vezes e por ai adiante.

 

A linha "total += number" descreve que o valor inserido para a variável "number" determinará o valor para "total" pois, "int total = 0".

 

Já num++ determina que o loop seguirá uma sequencia de 1 por vez, já que ++ é o mesmo que dizer num = num + 1, correto? Assim ele não saltará nenhum valor dentro dos 5 loops máximos possíveis.

 

Mas ainda assim não entrou 100% na minha cabeça.

Perdão pelos posts em excesso, não estou conseguindo editar.

Mas complementando, estou em dúvidas em relação a última linha do while, o "num++".

Se ela é de fato a engrenagem que faz a relação de "int num = 1" e "while (num <= 5)" de torne "int num = 2", "int num = 3" e assim sucessivamente, até que tenhamos os 5 loops que somarão o "total".

 

Aguardo.

Link para o comentário
Compartilhar em outros sites

  • 0
58 minutos atrás, ldsouza disse:

Se ela é de fato a engrenagem que faz a relação de "int num = 1" e "while (num <= 5)" de torne "int num = 2", "int num = 3" e assim sucessivamente, até que tenhamos os 5 loops que somarão o "total".

Sim, num vai sendo somada ++ até que saia do while. Se não fosse somado nada, ou fosse subtraído, o loop seria infinito. E esse cin >> num não é necessário no caso. Isso é para gravar um dado de entrada (do teclado).

Link para o comentário
Compartilhar em outros sites

  • 0
 #include <iostream>

using namespace std;

 

int main()

{

int num = 1;

int number;

int total = ;

 

while (num <= 5) {//enquanto num for menor ou igual a 5 faz tudo o que esta entre as {}

cin >> number;//le a variavel number

total += number;//tota recebe total + number

num++;//num recebe num + 1;

}

 

cout << total << endl;

 

return ;

} 

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...