Why does my function return a 0 or 1 at the end? : <p>I wrote a program to determine if a student passes for exams.  So it calculates the average and compares it with a limit and return it to the main.</p>

<p>It works (Which is great) but i keep getting a 0 or a 1 after each output. Im guessing this has to do with the boolean function. But im honestly not sure. At this point it feels like ive dug a rabbithole and see no exit.</p>

<p>Any help would be appreciated.</p>

<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

using namespace std;

bool heeftToegang(float lab1, float lab2, float lab3, float toets1,
                  float toets2)
{
    const int kleinste = 0;
    const int hoogste = 10;
    const int toetsWeging = 3;
    int grens = 6;

    int gemiddelde = (lab1 + lab2 + lab3 +
               toets1 * toetsWeging + toets2 * toetsWeging) /
              9;

    string geen = " geen deelname";
    string oke = " =&gt; deelname oke";

    cout &lt;&lt; "Lab: " &lt;&lt; lab1 &lt;&lt; " ; " &lt;&lt; lab2 &lt;&lt; " ; " &lt;&lt; lab3
         &lt;&lt; " Toets: " &lt;&lt; toets1 &lt;&lt; " ; " &lt;&lt; toets2;

    // if else statement om de cijfers te checken
    if (lab1 &gt; 8)
    {
        grens -= 0.5;
    }
    else if (lab2 &gt; 8)
    {
        grens -= 0.5;
    }
    else if (lab3 &gt; 8)
    {
        grens -= 0.5;
    }

    // check if var invalid
    if (lab1 == kleinste || lab2 == kleinste || lab3 == kleinste ||
        lab1 &gt; hoogste || lab2 &gt; hoogste || lab3 &gt; hoogste)
    {
        cout &lt;&lt; geen &lt;&lt; " (Sprake van fraude)";
        return false;
    }
        // hier wordt er gekeken of het cijfer kleiner is dan 4
    else if (toets1 &lt; 4 || toets2 &lt; 4)
    {
        cout &lt;&lt; geen;
        return false;
    }
    // check gemiddelde &lt; 6
    else if (gemiddelde &lt; grens)
    {
        cout &lt;&lt; geen;
        return false;
    }
    else
    {
        cout &lt;&lt; oke;
        return true;
    }
}
int main()
{
    cout &lt;&lt; heeftToegang(5, 5, 5, 6, 6) &lt;&lt; endl;
    cout &lt;&lt; heeftToegang(5, 5, 6, 6, 6) &lt;&lt; endl;
    cout &lt;&lt; heeftToegang(5, 6, 6, 6, 6) &lt;&lt; endl;
    cout &lt;&lt; heeftToegang(6, 6, 6, 6, 6) &lt;&lt; endl;
    cout &lt;&lt; heeftToegang(6, 6, 6, 5, 6) &lt;&lt; endl;
    cout &lt;&lt; heeftToegang(6, 6, 6, 6, 5) &lt;&lt; endl;
    cout &lt;&lt; heeftToegang(6, 6, 6, 7, 7) &lt;&lt; endl;
    cout &lt;&lt; heeftToegang(8, 8, 6, 5, 6) &lt;&lt; endl;
    cout &lt;&lt; heeftToegang(8, 8, 0, 7, 8) &lt;&lt; endl;
    cout &lt;&lt; heeftToegang(9, 9, 9, 3.9, 9) &lt;&lt; endl;
    return 0;
}
</code></pre>
