Jump to content
Fórum Script Brasil
  • 0

Dúvida Cruel, iniciante C++


ldsouza
 Share

Question

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 to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...