for some reason, this doesn't work, and I can't figure out why.

I'm probaby missing something easy, but here it is.. this is only part of the code I am testing, because it passes every time no matter what I put it..

Code:
#include <cstdlib>
#include <iostream>
#include <iomanip>

using namespace std;

int main(int argc, char *argv[])
{
 		double minutes, total, rate, num, num2;
		cout << "Enter time call was started in HH.MM format\n\n\n";
		cout << "Example: 07.51 is 7:51 \n\n";
		cout << "Time: ";
		
		cin >> fixed >> setprecision(2) >> showpoint;
		cin >> num;
		cout << fixed << setprecision(2) << showpoint;
		num2 = num - static_cast<int>(num); //should give the fractional part
		cout << endl;
		cout << num2;
		cout << endl;
		if (num2 < 0.6)
	  	 cout << "\nok, this worked.\n";
  	else
	  		cout << "ok, this didn't work.\n";

thanks for any advice.