0

I have this homework assignment that i need help with and below is the code that i have so far. any help would be appreciated. thank you.


Write a program that tells what coins to give out for any amount of change from 1 cent to 99 cents.
For example, if the amount is 86 cents, the output would be something like the following:

86 cents can be given as 3 quarter(s) 1 dime(s) amd 1 penny(pennies).
Use coin denominations of 25 cents (quarters),
10 cents (dimes) and 1 cent (pennies).
Do not use nickel and half-dollar coins.
Your program will use the following function (amoung others): void computeCoin(int coinValue, int& number, int& amountLeft); /* Preconditions:
0 < coinValue < 100;
0 <= amountLeft < 100.
Postconditions: number has been set equal to the maximum number of coins of dem=nomination conValue cents that can be obtained from amountLeft cents.
AmountLeft has been decreased by the value of the coins, that is, decreased by number*coinValue.

For example, suppose the value of the variable amountLeft is 86. Then, after the following call, the value of number will be 3 and the value of amountLeft will be 11 (because if you take three quarters from 86 cents, that leaves 11 cents):computeCoins(25, number, amountLeft);

Include a loop that lets the user repeat this computation for new input values untill the user says he or she wants to end the program.
(Hint: Use integer division and the % operator to implement this function.) p>

here is what i have so far

#include <iostream> 
using namespace std; 
void computeCoin(int coinValue, int& number, int& amountLeft); 

int main() 
{ 
static int inChange [] = { 25, 10, 1 }; 
static char *szChange [] = { "Quarters", "Dimes", "Pennies" } 
int inNumber, inLeft; 

cout << "Enter amount of money (1-99)--->: "; 
cin >> inLeft; 
cout << change << "coins can be given" << endl; 
cout << "-------------------------------------" << endl; 

for ( int i=0, i<3; i++ ) { 
    computeCoin ( inChange, inNumber, inLeft ) 
    if ( inNumber ) cout << inNumber << szChange << endl; 
} 
return 0; 

} //End main 

void computeCoin(int coinValue, int& number, int& amountLeft) { 
number = amountLeft / coinValue; 
if ( number ) amountLeft = amountLeft % coinValue; 
}
4
Contributors
6
Replies
7
Views
7 Years
Discussion Span
Last Post by restrictment
0

>>Do not use nickel and half-dollar coins.

half-dollars I can understand because they are not very common. But nickels??? :icon_eek: As a customer I would not like it if the cashier gave me seven pennies when he/she had a nichel in the drawer.

Edited by Ancient Dragon: n/a

0

>>Do not use nickel and half-dollar coins.

half-dollars I can understand because they are not very common. But nickels??? :icon_eek: As a customer I would not like it if the cashier gave me seven pennies when he/she had a nichel in the drawer.

this is what the problem says. can you help me on the code please.

0

I'll start you off by showing you how to compute the number of quarters

Quarters = amountleft / 25;
amountleft %= 25;

Now just do the same thing to get dimes and pennies.

0

I'll start you off by showing you how to compute the number of quarters

Quarters = amountleft / 25;
amountleft %= 25;

Now just do the same thing to get dimes and pennies.

i am confused. the program above had some errors so i fixed them and now i am getting an Error 1 error C2664: 'computeCoin' : cannot convert parameter 1 from 'int [3]' to 'int' 17

#include <iostream> 
using namespace std; 
void computeCoin(int coinValue, int& number, int& amountLeft); 
 
int main() 
{ 
static int inChange [] = { 25, 10, 1 }; 
static char *szChange [] = { "Quarters", "Dimes", "Pennies" }; 
int inNumber, inLeft; 
 
cout << "Enter amount of money (1-99)--->: "; 
cin >> inLeft; 
cout << inChange << "coins can be given" << endl; 
cout << "-------------------------------------" << endl; 
 
for ( int i=0; i<3; i++ ) { 
    computeCoin ( inChange, inNumber, inLeft ); 
    if ( inNumber ) cout << inNumber << szChange << endl; 
} 
return 0; 
 
} //End main 
 
void computeCoin(int coinValue, int& number, int& amountLeft) { 
number = amountLeft / coinValue; 
if ( number ) amountLeft = amountLeft % coinValue; 
}
0

Look at your parameters. What does the function require? What are the actual definitions of the variables?

0

Well, I honestly never did anything like this before, but I thought about it for a bit, and came up with a fairly simple formula for figuring out the change. I am not sure if this is what you are looking for, as your coding is a bit more advanced than what I know..but maybe this will help you:

cout << "Enter the amount of change you want: ";
	cin >> total;
	quarters = total/25;
	dimes = (total-(quarters*25))/10;
	pennies = total-(quarters*25+dimes*10);
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.