You've probably figured this out in the intervening two and a half years, but the problem with the minima is your use of the "fixed" formatting keyword. That limits the number of (fraction) decimal places to six, and obviously it's not going to show much when you need 37 zeros before you start printing "interesting" numbers.
Adding the following line at the top...
Code:
cout << "\nFLT_MIN: " << min;
...prints the following non-trivial value:
Code:
FLT_MIN: 1.17549e-38
In addition, it appears that "fixed" is sticky, much like "hex" (IIRC); that is, it stays in effect until you cancel it. I can't find the URL to my favorite reference for this stuff (somewhere on the GNU/GCC site), but that's what I recall.