Beh, per quello prova ad usare questa funzioncina

codice:
int verificaInt (float num)
{
  if (round(num) == num)
    return 1;
  return 0;
}
Se hai in uscita 1, il numero è intero, altrimenti è decimale.
Per usarla devi includere math.h (o cmath se usi il namespace std)