C++ game returns 0 automatically
<p>Whenever i try to run this game, it automatically returns 0.
The game is a text-based survival game that i coded on Code::Blocks. The compiler is MinGW. I am a semi-knowledgeable programmer. There is no error when compiled. </p>

<pre><code>// This game automatically returns 0 and ends for some reason...
#include &lt;iostream&gt;
#include &lt;cstdlib&gt;
#include &lt;ctime&gt;
#include &lt;string&gt;

using namespace std;

int hunger;
int warmth;
int thirst;
int choice;
// Declares variables for hunger, warmth, thirst, and the users choice

int start()
{
    cout&lt;&lt; "You are stuck in a forest, all alone"&lt;&lt; endl;
    cout&lt;&lt; "You must maintain your hunger, thirst, and warmth." &lt;&lt; endl;
    int mainPage();
}

int hunt()
{
    srand(time(0));
    cout&lt;&lt; "You have chosen hunt!"&lt;&lt; endl;
    if ((rand() % 2) == 2){
        cout&lt;&lt; "You caught a deer!"&lt;&lt; endl;
        hunger = hunger + 1;
    }
    else{
        cout&lt;&lt; "You could not find anything..."&lt;&lt; endl;
    }
    int mainPage();

}
// The previous function is used for the hunting choice

int wood()
{
    cout&lt;&lt; "You have chosen find firewood!"&lt;&lt; endl;
    if ((rand() % 2) == 2){
        cout&lt;&lt; "You found firewood!"&lt;&lt;endl;
        warmth = warmth + 1;
    }
    else{
        cout&lt;&lt; "You could not find any firewood"&lt;&lt; endl;
    }
    int mainPage();
}
// Wood choice

int water()
{
    cout&lt;&lt; "You have chosen find water!"&lt;&lt; endl;

    if ((rand() % 2) == 2){
        cout&lt;&lt; "You have found a river!"&lt;&lt; endl;
        thirst = thirst + 1;

    }
    else{
        cout&lt;&lt; "You could not find anything..."&lt;&lt; endl;
    }
    int mainPage();
}
// Water choice

int mainPage()
{
    warmth = warmth - 1;
    hunger = hunger - 1;
    thirst = thirst - 1;
    // Subtracts one from each variable per turn
    if (hunger == 0){
        cout&lt;&lt; "You starved!"&lt;&lt; endl;
        cout&lt;&lt; "Game over!"&lt;&lt; endl;
        return 0;
    }
    if (thirst == 0){
        cout&lt;&lt; "You became dehydrated!"&lt;&lt; endl;
        cout&lt;&lt; "Game over!"&lt;&lt; endl;
        return 0;
    }
    if (warmth == 0){
        cout&lt;&lt; "You froze!"&lt;&lt; endl;
        cout&lt;&lt; "Game over!"&lt;&lt; endl;
        return 0;
    }
    // You die if any of the variables reach zero

    cout&lt;&lt; "Your hunger is"&lt;&lt; hunger&lt;&lt;  endl;
    cout&lt;&lt; "Your warmth is"&lt;&lt; warmth&lt;&lt;  endl;
    cout&lt;&lt; "Your thirst is"&lt;&lt; thirst&lt;&lt;  endl;
    cout&lt;&lt; "What would you like to do?"&lt;&lt; endl;
    cout&lt;&lt; "1 = hunt, 2 = find firewood, 3 = find water"&lt;&lt; endl;
    cin&gt;&gt; choice;
    if (choice = 1){
        int hunt();
    }
    if (choice = 2){
        int wood();
    }
    if (choice = 3){
        int water();
    }
    // The main page that takes the users choice as input and also tells you the amount of each variable

}
int main()
{
    hunger = 5;
    thirst = 5;
    warmth = 5;
    int start();
}
// the main function
</code></pre>