Thanks, that makes more sense. However, I cannot, for the life of me, figure out why when I input something like 0.38, the code below doesn't work:
Code:
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// get an input from user
printf("How much change?: ");
float change = GetFloat();
int Change = round(change * 100);
int quarters, dimes, nickels, pennies;
// how many quarters are needed
if (Change >= 25)
quarters = (Change / 25);
Change = (Change%25);
// how many dimes are needed
if (Change >=10)
dimes = (Change / 10);
Change = (Change%10);
if (Change >= 5)
nickels = (Change / 5);
Change = (Change%5);
if (Change >= 1)
pennies = (Change / 1);
int x = (quarters + nickels + dimes + pennies);
printf("%i, is the answer\n", x);
return 0;
}
I tried using a while loop, but I have no idea why that doesn't work either:
Code:
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// get an input from user
printf("How much change?: ");
float change = GetFloat();
int Change = round(change * 100);
int coins;
// if quarters are needed
while (Change >= 25)
{
Change = (Change - 25);
coins++;
}
Change = (Change%25);
// how many dimes are needed
while (Change >=10)
{
Change = (Change - 10);
coins++;
}
Change = (Change%10);
if (Change >= 5)
{
Change = (Change - 5);
coins++;
}
Change = (Change%5);
if (Change >= 1)
{
Change = (Change - 1);
coins++;
}
printf("%i, is the answer\n", coins);
return 0;
}
Can you please enlighten me?