// change.cpp
// Make change with minimum number of coins.

#include <iostream>
#include <cctype>

using namespace std;

void change_maker(float,int&,int&,int&,int&);

int main() {
  float amount;
  int washingtons, roosvelts, jeffersons, lincolns;
  char again;

  do {
    cout << "Enter an amount of money  $";
    cin >> amount;

    change_maker(amount, washingtons, roosvelts, jeffersons, lincolns);

    cout << "Quarters: " << washingtons << endl;
    cout << "Dimes:    " << roosvelts << endl;
    cout << "Nickels:  " << jeffersons << endl;
    cout << "Pennies:  " << lincolns << endl;

    cout << endl << "Again? (y or n) ";
    cin >> again;
  } while (toupper(again) == 'Y');
}


void change_maker(float cash ,int &quarters, int &dimes, int &nickels,
                  int &pennies) {

  quarters = dimes = nickels = pennies = 0;

  while (cash >= .25) {
    quarters++;
    cash -= .25;
  }
  while (cash >= .10) {
    dimes++;
    cash -= .10;
  }
  while (cash >= .05) {
    nickels++;
    cash -= .05;
  }
  while (cash >= .01) {
    pennies++;
    cash -= .01;
  }
}


