user2808943
user2808943

Reputation: 25

cannot achieve desired output (cout) from a C++ loop

thanks to your help last night I was able to get my program computing my input properly, but now I am have trouble formatting my output properly. This is the problem:

My program should only print "is prime" on lines with prime numbers. But it prints on ever line like this:

http://oi42.tinypic.com/30igbvq.jpg

I cannot for the life of me figure out why it is doing this, all of my functions should work.

Stack I need your help again!

#include <iostream>
using namespace std;


void primecheck(int x); // proto
void countr(int rnm, int lnm); // proto

void prime(int x) // this function finds the prime factors of a number.
{
int lastr = 2;
int count = 0;
while (lastr < x)
{

    if (x % lastr == 0)
    {
        cout << x << " " << lastr << "*";
        x /= lastr;
    }
    else
        ++lastr;
}
primecheck(x); // calls to check if number is prime, "Is prime"
}


void console(int rnum, int lnum) // this prompts the user for two numbers then stores     the answers
{
cout << "please enter two numbers ";
cin >> rnum;
cin >> lnum;
countr(rnum, lnum);
}

void countr(int rnm, int lnm) // this function loops the prime function until all the        numbers are computed
{ 
int i = rnm;
do{
    prime(i);
    i++;
} while (i <= lnm);
    return;
}


int main() // main, calls console then pauses when finished
{
int e = 0;
int r = 0;
    console(e, r);
    system("PAUSE");
}
void primecheck(int x) // checks to see if then number is prime. if counter is equal to 2 than number is prime.
{
int counting = 0;
for (int a = 1; a <= x; a++)
{
    if (x %a == 0)
    {
        counting++;
    }
}

if (counting == 2)
{
    cout << x << " is prime " << endl;
}
else
{
    cout << x << endl;
}
}

Upvotes: 1

Views: 106

Answers (1)

Carl Norum
Carl Norum

Reputation: 224844

You're using a /= operator in prime(). That's an assignment operator and is modifying the value of x, making x always prime whenever primecheck() is called.

Upvotes: 2

Related Questions