Basic C++ Programming

I need to write a basic program that takes a number from user input and adds all  numbers leading up to that number. For instance, a user enters 15, I need to add 1+2+3...15. The number "15" could be any positiving integer that the user decides to input.
Here is what I have so far but with no results:

int main ()
{
int num;
int sum = 0;
cout << "Enter a positive int value.";
cin >> num;

while (num >=1)
{
sum = sum ++
}
if (sum > num)
break;
cout << sum;

return 0;
}
lostinspace9Asked:
Who is Participating?
 
HooKooDooKuConnect With a Mentor Commented:
It looks like you're off by a factor of 1.

While a typical C++ for loop looks like
    for(int i=0; i<count; i++)
so that the loop with iterate 'count' times, you're trying to use the iterator for the math as well.  But that means rather than adding up the values from 1 to num you are adding up the numbers from 0 to num-1

Try changing your for loop to
    for(sum=1; sum <= num; sum++)
0
 
farzanjCommented:
Your num appears to be going into an infinite loop.  You need to increment num.  A for loop on num would be easier for you.

You should not use sum for comparison for breaking out of loop.  You have to keep a variable like i that counts from 1 to num.
0
 
lostinspace9Author Commented:
Okay, so I changed to a for loop and am not using a sum comparison to break the loop and I am getting an odd number as output.

int num;
int total = 0;
int sum;
 cout << "Enter value.";
cin >> num;

for (sum=0; sum<num; sum++)
{
total += sum;
cout << total;
}
return 0;
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
lostinspace9Author Commented:
This gives me the same output I saw before of 1361015 when entering a value of 5 at the prompt when the goal would be to get the value of 15 on return.
0
 
farzanjCommented:
sum name is confusing.  Make it i and total should be some, makes it easier to think.

Second, you have to add to num so it should be <= not <, as expert suggested.


Third, you should print the value after the loop executed, unless you want to see value in each step, still you should cout after the loop as well.
0
 
lostinspace9Author Commented:
Nevermind. Thank you for your help. The loop works fine. I just had my output inside the loop and needed to move it outside.
Thank you!
0
 
farzanjCommented:
Your problem is that your cout is in the loop and there is NO endl after it.  So it is showing you different numbers all mixed up on the same line together.

1361015

Is actually
1
3
6
10
15
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.