I used "while" loops and created 2 different codes, but when the first question is asked - "How much change is owed?" I give the input and there is no result. I'll post the two codes and I hope any of you guys gives me a tip about what I can change.
First code:
#include <stdio.h>
#include <cs50.h>
int main(void)
{
int penny = 1;
int nickel = 5;
int dime = 10;
int quarter = 25;
printf("How much change is owed?\n");
float t = GetFloat();
int q = t * 100;
int p;
int i;
do
{
p = 0;
i = q - p * quarter;
p = p + 1;
}
while (i > 0);
i = q % quarter;
int r;
int o;
do
{
r = 0;
o = i - r * dime;
r = r + 1;
}
while (o > 0);
o = i % dime;
int l;
int y;
do
{
l = 0;
y = o - l * nickel;
l = l + 1;
}
while (y > 0);
y = o % nickel;
int u;
int k;
do
{
u = 0;
k = y - u * penny;
u = u + 1;
}
while (k > 0);
int v = p + r + l + u;
float x = v * 0.01;
printf("%f\n", x);
}
Second code:
#include <stdio.h>
#include <cs50.h>
int main(void)
{
int penny = 1;
int nickel = 5;
int dime = 10;
int quarter = 25;
printf("How much change is owed?\n");
float t = GetFloat();
int q = t * 100;
int p;
int i;
do
{
p = 0;
i = q - p * quarter;
p = p + 1;
if(p * quarter + quarter > q)
{
int r;
int o;
do
{
r = 0;
o = i - r * dime;
r = r + 1;
i = q % quarter;
if(r * dime + dime > i)
{
int l;
int y;
do
{
l = 0;
y = o - l * nickel;
l = l + 1;
o = i % dime;
if(l * nickel + nickel > o)
{
int u;
int k;
do
{
u = 0;
k = y - u * penny;
u = u + 1;
y = o % nickel;
if (u * penny + penny > y)
{
k = p + r + l + u;
float z = k * 0.01;
printf("%f\n", z);
}
}
while (k > 0);
}
}
while (y > 0);
}
}
while (o > 0);
}
}
while (i > 0);
}
Thank you in advance. P.S. I would also like to specify that I will later try to figure out the negative input code that I need to add - right after I'm sure the rest is right.