Program compiles and executes but an unreasonably large number is output as the maximum. How can a long double be displayed?
<p>So I got this program to run, but now any numbers that I input come out as really large numerals. Do I need to add a header for math computation? Or is there something like with C, a printf function for C++?</p>

<pre><code>#include &lt;iostream&gt;                                                     // Necessary 
using namespace std;
#define mMaxOf2(max, min) ((max) &gt; (min) ? (max) : (min))
#define mMaxOf3(Min, Mid, Max)\
{\
     mMaxOf2(mMaxOf2((Min), (Mid)),(Max))\
}

int main()
{
    double primary;
    double secondary;
    double tertiary;
    long double maximum = mMaxOf3(primary, secondary, tertiary);

    cout &lt;&lt; "Please enter three numbers: ";
    cin &gt;&gt; primary &gt;&gt; secondary &gt;&gt; tertiary;
    cout &lt;&lt; "The maximum of " &lt;&lt; primary &lt;&lt; " " &lt;&lt; secondary &lt;&lt; " " &lt;&lt; tertiary;
    cout &lt;&lt; " using mMaxOf3 is " &lt;&lt; maximum;


    return 0;
}
</code></pre>
