In c program, would you be able to show me how to write a program to tell 185.80 is made up of the following please.
$100 x 1
$50 x1
$20 x1
$10 x1
$5 x1
$0.5x1
$0.2x1
$0.1x1
Many thanks!
I guess it is an assignment, so I will give you some steps.
First divide your problem in 2 parts: entire and decimal portion.
You must make sucessive divisions and modulo to the entire portion
double f = 185.80; /* this is your original value */
int entire = (int)floor(f); /* floor will give you the entire portion and (int) will "cast" the value to int */
This is just the starting point. So, to know if value has a $100 component, divide it
int bill;
bill = entire / 100;
if result (bill) is greater than 0, then the value contains one or more $100 bills
now to make next calculus, just rest $100 values from entire portion:
entire -= bill*100;
Well, next is your job, continue dividing, for decimal portion, the behaviour is the inverse.
Go ahead.
keteracel:
If this is a homework, you have violated the Members Agreement because you have provided the full-solution.
0
In this whiteboard video, Professor Wool highlights the challenges, benefits and trade-offs of utilizing zero-touch automation for security policy change management. Watch and Learn!
The fact that you've got '$' signs in your question suggests that this is like the automatic change calculators you get on cash tills in shops.
These require a list of the denominations of the currency you are working with. Once this table is entered the rest becomes trivial, just find the largest denomination in the table that is less than or equal to the value you have left. Then decide how many of them can be subtracted and do it.
The table is important because different currencies can make things get really wierd. Remember the old Pounds/Shillings/Pence we used to have here in the UK? There are still countries that use something like that.
>>Then decide how many of them can be subtracted and do it.
Also ... keep going until the smallest denomination is larger than your current result (this will work when your result is zero too).
Note: I would strongly suggest you do not use floating point maths. Use integer pence (or cents in your case). Using floats will add unnecessary complexity to what is really a simple multiplication and subtraction problem.
Paul
0
MelissamcgAuthor Commented:
Thank you all for your input. Since I am still new to C programming, I have chosen the longest way to work out my division from a floating number. I will look to improve my skill. Many thanks!
0
Featured Post
Leading analyst firm, KuppingerCole reviews AlgoSec's Security Policy Management Solution, and the security challenges faced by companies today in their Executive View report.
First divide your problem in 2 parts: entire and decimal portion.
You must make sucessive divisions and modulo to the entire portion
double f = 185.80; /* this is your original value */
int entire = (int)floor(f); /* floor will give you the entire portion and (int) will "cast" the value to int */
This is just the starting point. So, to know if value has a $100 component, divide it
int bill;
bill = entire / 100;
if result (bill) is greater than 0, then the value contains one or more $100 bills
now to make next calculus, just rest $100 values from entire portion:
entire -= bill*100;
Well, next is your job, continue dividing, for decimal portion, the behaviour is the inverse.
Go ahead.