// Justin C. Miller
// University of Wisconsin Oshkosh
// Made for: http://www.geocities.com/neonprimetime.geo/index.html
// Date: 2001
// Borland Builder 4.0
// this program takes a dollar amount
// and converts it all to coins
// finding the least amount of coins
// needed
//
// Uses Recursion

#include 
#include 
#include 

void ConvertToCoins(double) ;

int main()
{
	double amount ;

	while(true)
	{
		cout << "(Enter -1 to exit)" << endl ;
		cout << "Enter a $ amount..." << endl ;
		cout << "$" ;
		cin >> amount ;
		if(amount < 0) break ;

		ConvertToCoins(amount) ;
		getch() ;
		system("cls") ;
	}
	return 0 ;
}

void ConvertToCoins(double amt)
{
	static int quarters = 0;
	static int dimes = 0 ;
	static int nickels = 0 ;
	static int pennies = 0 ;

	if(amt >= .25){
		quarters++ ;
		ConvertToCoins(amt - .25) ;
	}
	else if(amt >= .10){
		dimes++ ;
		ConvertToCoins(amt - .10) ;
	}
	else if(amt >= .05){
		nickels++ ;
		ConvertToCoins(amt - .05) ;
	}
	else if(amt >= .01){
		pennies++ ;
		ConvertToCoins(amt - .01) ;
	}
	else
	{
		cout << "Coin                  TOTAL" << endl ;
		cout << "---------------------------" << endl ;
		cout << "Quarters = " << quarters  << "  $" << (quarters * .25) << endl ;
		cout << "Dimes    = " << dimes  << "  $" << (dimes * .10) << endl ;
		cout << "Nickels  = " << nickels  << "  $" << (nickels * .05) << endl ;
		cout << "Pennies  = " << pennies << "  $" << (pennies * .01) << endl ;
		cout << "---------------------------" << endl ;
		cout << "TOTAL COINS = " << (quarters + dimes + nickels + pennies) << endl ;
	}
}

    Source: geocities.com/neonprimetime.geo/cpp/cpp_SourceCode

               ( geocities.com/neonprimetime.geo/cpp)                   ( geocities.com/neonprimetime.geo)