Description
Rewrite Listing 2.10, ComputeChange.cpp, to fix the possible loss of accuracy when converting a doulbe value to an int value. Enter the input as an integer whose last two digits represent the cents. For example, the input 1156 represents 11 dollars and 56 cents. The output should display non-zero denominations only, using singular words for single units like 1 dollar and 1 penny, and plural words for more than one unit like 2 dollars and 3 pennies.
Input
A integer n represents money in cents.
Output
The output should display non-zero denominations only, using singular words for single units like 1 dollar and 1 penny, and plural words for more than one unit like 2 dollars and 3 pennies.
Sample Input
1156
Sample Output
Your amount 1156 consists of 11 dollars 2 quarters 1 nickel 1 penny
Although the code is very long, but is very boring! ! !
#include <stdio.h>
int main(void)
{
int a,b,c,d,n;
scanf("%d",&a);
for(b=1;b<=a;b++)
{
for(c=1;c<=4;c++)
{
for(d=1;d<=5;d++)
{
for(n=1;n<5;n++)
{
if(b*100==a)
{
if(b>=2) printf("Your amount %d consists of\n%d dollars\n",a,b);
else printf("Your amount %d consists of\n%d dollar\n",a,b);
}
if(b*100+25*c==a)
{
if(b>=2&&c>=2) printf("Your amount %d consists of\n%d dollars\n%d quarters\n",a,b,c);
else if(b<2&&c>=2) printf("Your amount %d consists of\n%d dollar\n%d quarters\n",a,b,c);
else if(b>=2&&c<2) printf("Your amount %d consists of \n%d dollars\n%d quarter\n",a,b,c);
else printf("Your amount %d consists of\n%d dollar\n%d quarter\n",a,b,c);
}
if(b*100+5*d==a)
{
if(b>=2&&d>=2) printf("Your amount %d consists of\n%d dollars\n%d nickel\n",a,b,d);
else if(b>=2&&d<2) printf("Your amount %d consists of\n%d dollars\n%d nickel\n",a,b,d);
else if(b<2&&d>=2) printf("Your amount %d consists of\n%d dollar\n%d nickels\n",a,b,d);
else printf("Your amount %d consists of\n%d dollar\n%d nickel\n",a,b,d);
}
if(b*100+n==a)
{
if(b>=2&&n>=2) printf("Your amount %d consists of\n%d dollars\n%d pennies\n",a,b,n);
else if(b>=2&&n<2) printf("Your amount %d consists of\n%d dollars\n%d penny\n",a,b,n);
else if(b<2&&n>=2) printf("Your amount %d consists of\n%d dollars\n%d pennies\n",a,b,n);
else printf("Your amount %d consists of\n%d dollar\n%d penny\n",a,b,n);
}
if(b*100+c*25+5*d==a)
{
if(b>=2&&c>=2&&d>=2) printf("Your amount %d consists of\n%d dollars\n%d quarters\n%d nickels\n",a,b,c,d);
else if(b>=2&&c>=2&&d<2) printf("Your amount %d consists of\n%d dollars\n%d quarters\n%d nickel\n",a,b,c,d);
else if(b>=2&&c<2&&d<2) printf("Your amount %d consists of\n%d dollars\n%d quarter\n%d nickel\n",a,b,c,d);
else if(b>=2&&c<2&&d>=2) printf("Your amount %d consists of\n%d dollars\n%d quarter\n%d nickels\n",a,b,c,d);
else if(b<2&&c>=2&&d>=2) printf("Your amount %d consists of\n%d dollar\n%d quarters\n%d nickels\n",a,b,c,d);
else if(b<2&&c>=2&&d<2) printf("Your amount %d consists of\n%d dollar\n%d quarters\n%d nickel\n",a,b,c,d);
else if(b<2&&c<2&&d>=2) printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d nickels\n",a,b,c,d);
else printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d nickel\n",a,b,c,d);
}
if(b*100+c*25+n==a)
{
if(b>=2)
{
if(c>=2&&n>=2) printf("Your amount %d consists of\n%d dollars\n%d quarters\n%d pennies\n",a,b,c,n);
else if(c<2&&n>=2) printf("Your amount %d consists of\n%d dollars\n%d quarter\n%d pennies\n",a,b,c,n);
else if(c>=2&&n<2) printf("Your amount %d consists of\n%d dollars\n%d quarters\n%d penny\n",a,b,c,n);
else printf("Your amount %d consists of\n%d dollars\n%d quarter\n%d penny\n",a,b,c,n);
}
else
{
if(c>=2&&n>=2) printf("Your amount %d consists of\n%d dollar\n%d quarters\n%d pennies\n",a,b,c,n);
else if(c<2&&n>=2) printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d pennies\n",a,b,c,n);
else if(c>=2&&n<2) printf("Your amount %d consists of\n%d dollar\n%d quarters\n%d penny\n",a,b,c,n);
else printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d penny\n",a,b,c,n);
}
}
if(b*100+d*5+n==a)
{
if(b>=2)
{
if(d>=2&&n>=2) printf("Your amount %d consists of\n%d dollars\n%d nickels\n%d pennies\n",a,b,d,n);
else if(d>=2&&n<2) printf("Your amount %d consists of\n%d dollars\n%d nickels\n%d penny\n",a,b,d,n);
else if(d<2&&n>=2) printf("Your amount %d consists of \n%d dollars\n%d nickel\n%d pennies\n",a,b,d,n);
else printf("Your amount %d consists of\n%d nickel\n%d penny\n",a,b,d,n);
}
else
{
if(d>=2&&n>=2) printf("Your amount %d consists of\n%d dollar\n%d nickels\n%d pennies\n",a,b,d,n);
else if(d>=2&&n<2) printf("Your amount %d consists of\n%d dollar\n%d nickels\n%d penny\n",a,b,d,n);
else if(d<2&&n>=2) printf("Your amount %d consists of\n%d dollar\n%d nickel\n%d pennies\n",a,b,d,n);
else printf("Your amount %d consists of\n%d dollar\n%d nickel\n%d penny\n",a,b,d,n);
}
}
if(b*100+c*25+d*5+n==a)
{
if(b>=2)
{
if(c>=2)
{
if(d>=2&&n>=2) printf("Your amount %d consists of\n%d dollars\n%d quarters\n%d nickels\n%d pennies\n",a,b,c,d,n);
else if(d>=2&&n<2) printf("Your amount %d consists of\n%d dollars\n%d quarters\n%d nickels\n%d penny\n",a,b,c,d,n);
else if(d<2&&n>=2) printf("Your amount %d consists of\n%d dollars\n%d quarters\n%d nickel\n%d pennies\n",a,b,c,d,n);
else printf("Your amount %d consists of\n%d dollars\n%d quarters\n%d nickel\n%d penny\n",a,b,c,d,n);
}
else if(c<2)
{
if(d>=2&&n>=2) printf("Your amount %d consists of\n%d dollars\n%d quarter\n%d nickels\n%d pennies\n",a,b,c,d,n);
else if(d>=2&&n<2) printf("Your amount %d consists of\n%d dollars\n%d quarter\n%d nickels\n%d penny\n",a,b,c,d,n);
else if(d<2&&n>=2) printf("Your amount %d consists of\n%d dollars\n%d quarter\n%d nickel\n%d pennies\n",a,b,c,d,n);
else printf("Your amount %d consists of\n%d dollars\n%d quarter\n%d nickel\n%d penny\n",a,b,c,d,n);
}
}
else
{
if(c>=2)
{
if(d>=2&&n>=2) printf("Your amount %d consists of\n%d dollar\n%d quarters\n%d nickels\n%d pennies\n",a,b,c,d,n);
else if(d>=2&&n<2) printf("Your amount %d consists of\n%d dollar\n%d quarters\n%d nickels\n%d penny\n",a,b,c,d,n);
else if(d<2&&n>=2) printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d nickel\n%d pennies\n",a,b,c,d,n);
else printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d nickel\n%d penny\n",a,b,c,d,n);
}
else if(c<2)
{
if(d>=2&&n>=2) printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d nickels\n%d pennies\n",a,b,c,d,n);
else if(d>=2&&n<2) printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d nickels\n%d penny\n",a,b,c,d,n);
else if(d<2&&n>=2) printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d inckel\n%d pennies\n",a,b,c,d,n);
else printf("Your amount %d consists of\n%d dollar\n%d quarter\n%d nickel\n%d penny\n",a,b,c,d,n);
}
}
}
if(c*25==a)
{
if(c>=2) printf("Your amount %d consists of\n%d quarters\n",a,c);
else printf("Your amount %d consists of\n%d quarter\n",a,c);
}
if(c*25+d*5==0)
{
if(c>=2)
{
if(d>=2) printf("Your amount %d consists of\n%d quarters\n%d nickels\n",a,c,d);
else printf("Your amount %d consists of\n%d quarters\n%d nickel\n",a,b,d);
}
else
{
if(d>=2) printf("Your amount %d consists of\n%d quarter\n%d nickels\n",a,c,d);
else printf("Your amount %d consists of\n%d quarter\n%d nickel\n",a,c,d);
}
}
if(c*25+n==a)
{
if(c>=2)
{
if(n>=2) printf("Your amount %d consists of\n%d quarters\n%d pennies\n",a,c,n);
else printf("Your amount %d consists of\n%d quarters\n%d penny\n",a,c,n);
}
else
{
if(n>=2) printf("Your amount %d consists of\n%d quarter\n%d pennies\n",a,c,n);
else printf("Your amount %d consists of\n%d quarter\n%d penny\n",a,c,n);
}
}
if(c*25+d*5+n==a)
{
if(c>=2)
{
if(d>=2&&n>=2) printf("Your amount %d consists of\n%d quarters\n%d nickels\n%d pennies\n",a,c,d,n);
else if(d>=2&&n<2) printf("Your amount %d consists of\n%d quarters\n%d nickels\n%d penny\n",a,c,d,n);
else if(d<2&&n>=2) printf("Your amount %d consists of\n%d quarters\n%d nickel\n%d pennies\n",a,c,d,n);
else printf("Your amount %d consists of\n%d quarters\n%d nickel\n%d penny\n",a,c,d,n);
}
else
{
if(d>=2&&n>=2) printf("Your amount %d consists of\n%d quarter\n%d nickels\n%d pennies\n",a,c,d,n);
else if(d>=2&&n<2) printf("Your amount %d consists of\n%d quarter\n%d nickels\n%d penny\n",a,c,d,n);
else if(d<2&&n>=2) printf("Your amount %d consists of\n%d quarter\n%d nickel\n%d pennies\n",a,c,d,n);
else printf("Your amount %d consists of\n%d quarter\n%d nickel\n%d penny\n",a,c,d,n);
}
}
if(d*5==a)
{
if(d>=2) printf("Your amount %d consists of\n%d nickels\n",a,d);
else printf("Your amount %d consists of\n%d nickel\n",a,d);
}
if(d*5+n==a)
{
if(d>=2)
{
if(n>=2) printf("Your amount %d consists of\n%d nickels\n%d pennies\n",a,d,n);
else printf("Your amount %d consists of\n%d nickels\n%d penny\n",a,d,n);
}
else
{
if(n>=2) printf("Your amount %d consists of\n%d nickiel\n%d pennies\n",a,d,n);
else printf("Your amount %d consists of\n%d nickel\n%d penny\n",a,d,n);
}
}
}
}
}
}
return 0;
}