Someone please help! Another program

I have posted the paramaters of this problem. I have everyting working except for the part where the program has to only output 4 factors per line. I have worked on this program probably 7 hours and I am stuck at this poing.

Can anyone help with this? I will post the code that I have below.

Write a program that generates all the factors of a number entered by the user. For instance, the number 12 has the factors 2 * 2 * 3. This program has the following requirements:

A. The user must enter a positive integer. If the user enters something else, your program should output an error message and let the user enter a new value. Use a do/while loop to make sure the user input is successful.

B. The factors must be output in increasing order. The lowest factor your program should report is 2.

C. Your program should output 4 factors per line, each factor in a field of 10 characters. (Hint: the number of factors output determines when to output endl!)

D. You will need a while loop to report the factors. Here are some helpful hints:

1. If (a % b == 0) then a is a factor of b.

2. When you have found a factor, output the factor and then reduce the number you are working with by dividing the number by the factor… ie) b = b / a;


#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{

int num = 0;
int count = 0;


do
{
cout << "Enter a number to be factored:";
cin >> num;
cout << "You entered:" << num << endl;

}
while (num <= 0);


for (int a = 2;a<=num; a++)
while (num % a ==0)
{

num/=a;
cout << setw (10);
cout << a;

}
system("pause");
return 0;

You are going pretty well.
your for loop has no curly graces and your main() has no ending curly brace.
to restrict each printed line to four factors you need a statement in the "cout<<a" body which says something like" if(count > 3)cout<<"\n";" (assuming count was initialized to 0 first.
Topic archived. No new replies allowed.