printf("Insert money for payment: ");
while( !(scanf("%g\n", &insertMoney) == EOF || !insertMoney) ){
    if(insertMoney == 0.05f ||insertMoney == 100 || insertMoney == 50 || insertMoney == 20 || insertMoney == 10 || insertMoney == 5 || insertMoney == 2 || insertMoney == 1 || insertMoney == 0.50 || insertMoney == 0.2 || insertMoney == 0.20 || insertMoney == 0.1 || insertMoney == 0.02 || insertMoney == 0.01 || insertMoney == 0 )           
        totalSum += insertMoney;
    else{
        fake = insertMoney;
        printf("%g is invalid!\n", fake);
        return 1;       
        }   
     }
If i insert 100, 50 or any number from if, works normaly. If i insert 0.20 or 0.05 (any number with 0.xx) say me is invalid.
PS: insertMoney is float.
