I'm trying to create a solution for pset1 cash.c, the code below is not meant to be the final implantation, just a cursor to figure out the problem. When I run this code it works for values .01 to .05 but when I input anything higher that requires pennys the program fails to count the pennies. You can run this only in the cs50 IDE. Please help.
#include <stdio.h>
#include <cs50.h>
int main(void)
{
float q = 0.25;
float d = 0.1;
float n = 0.05;
float p = 0.01;
int qu = 0;
int du = 0;
int nu = 0;
int pu = 0;
float f = get_float("Change owed: ");
while (f >= q)
{
f = f - q;
qu++;
}
while (f >= d)
{
f = f - d;
du++;
}
while (f >= n)
{
f = f - n;
nu++;
}
while (f >= p)
{
f = f - p;
pu++;
}
printf("quarters: %i, dimes: %i, nickles: %i, pennys: %i\n", qu, du, nu, pu);
}