Program Bug: Programming Class

  • #1
50
1

Homework Statement


So, I'm getting two blocks of zeroes in my console output from this program. After much effort (and stack exchange) I'm still unable to get it working. Could someone point me to a solution?
Mod note: Added code tags

Homework Equations


C:
#include<iostream>
#include<iomanip>
#include<string>
#include<vector>

using namespace std;

vector<int> intList(105);
vector<int> multiplesOfTwo(105);

int i;
int z;
int prime = 2;

void createMultipleTwoList()
{
    for (z = 2; z <= 100; z++)
    {
        if (z % 2 == 0)
        {
            multiplesOfTwo.push_back(z);
            return;
        }
        else
        {
            return;
        }
    }
}

void createIntList()
{
    for (i = 1; i <= 100;i++)
    {
        intList.push_back(i);
    }
}

int main()
{
    int number;
    int prime;

    for (;;) {
        int numberOfPrimes;
        cout << "Please enter the number of primes to be printed: ";
        cin >> numberOfPrimes;
        if (numberOfPrimes <= 100 && numberOfPrimes >= 1) {
            createMultipleTwoList;
            createIntList;
            for (i = 0; i <= 100; i++)
            {
                cout << multiplesOfTwo[ i] << " ";
            }
            cout << endl << endl << endl << endl;
            for (i = 0; i <= 100; i++)
            {
                cout << intList[ i] << " ";
            }
            break;
        }
        else {
            cout << "Please enter a valid integer" << endl;
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
        }
    }
    cout << endl;
    system("pause");
    return 0;
}

The Attempt at a Solution

 
Last edited by a moderator:

Answers and Replies

  • #2
Additionally, I'd add I'm setting up to use the Sieve of Eratosthenes.
 
  • #3
In the future, please use code tags around your code -- [code=c] at the top and [/code] at the bottom.

There are a lot of problems with the code, as posted. The two functions you defined are not called correctly. To call a function, you must include the parentheses, even for functions with no arguments. When I compiled your code, I got four warnings -- you should pay more attention to warnings.

Your createMultipleTwoList function doesn't work as you intended it to. Both the if clause and the else clause return in the first iteration, so your loop doesn't run more than once.

There could be more problems, but these are the first few I found.
 

Suggested for: Program Bug: Programming Class

Replies
11
Views
530
Replies
4
Views
596
Replies
2
Views
409
Replies
7
Views
943
Replies
2
Views
541
Replies
2
Views
2K
Replies
1
Views
578
Replies
1
Views
65
Replies
12
Views
644
Back
Top