Im having trouble with the Running product in my C++ program. Where is the question:

1. Write a program that repeatedly reads in integer values until a value less than or equal to zero is entered. For each value, it should print the product of the numbers from 1 to the given value. An ending message should be printed. Use a for statement to help compute the running product. A sample run might be (user input in bold):

Enter an integer: 3

The product of numbers from 1 to 3 is 6

Enter an integer: 9

The product of numbers from 1 to 9 is 362880

Enter an integer: 12

The product of numbers from 1 to 12 is 479001600

Enter an integer: 5

The product of numbers from 1 to 5 is 120

Enter an integer: -3

Thank Goodness!

Now here is the part in the program where i believe im having a little trouble. I'll copy and paste below where i believe my problem is occuring:

In my function definition i have this:

``````void print_product ( int user_number, int product)
{

int count;

product = 1;

cout << "\nThe product of numbers from 1 to " << user_number << " is " << product;

for (count = 1; count <= user_number; count++)
{

product = count * product;

cout << product;

}
``````

And as for a example when i run this program like this ill get a answer like:

``````Enter an integer: 5

The product of numbers from 1 to 5 is 112624120
``````

which is incorrect.

So if anyone could help me to fix this problem i would really appreciate it.

Thank You

>cout << product;
Replace that with this:

``cout << product << '\n';``

Thanks so much for your time and help. Now i would like to ask one more question if thats ok. Now for the product i want the product of numbers through 1 through a number entered by the user to equal the total product for example: 1*2*3*4*5 = 120.

For some reason im getting the product if i enter something similar like the example above this:

Enter an integer: 5

The product of numbers from 1 to 5 is 1
2
6
24
120

Now how would i get rid of those extra multiples? The only number i need to show in my program is the very last number like this:

Enter an integer: 5

The product of numbers from 1 to 5 is 120

If you have any solutions feel free to write back. If not thank you again anyways :)

Move the print outside of your loop so that you don't print intermediate values:

``````for (count = 1; count <= user_number; count++)
{
product = count * product;
}

cout << product <<endl;``````
Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.19 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.