I can't seem to figure out how to get this program to work with a trick coin of a $1.31 to work
Code:
#include <stdio.h>
int main()
{
/* Declaring variables */
float moneyfloat,coins[7];
/* Money Value From User, Values For Each Type Of Coin */
int x,y,numCoins[7];
/* Counter, Counter, Number Of Each Type Of Coin Counters */
int sum = 0;
/* Sum Counter that is set to a value of 0 */
/* Set Values For Each Type Of Coin */
coins[1] = 2.00; /* $2.00 */
coins[2] = 1.31; /* $1.31 */
coins[3] = 1.00; /* $1.00 */
coins[4] = 0.25; /* $0.25 */
coins[5] = 0.10; /* $0.10 */
coins[6] = 0.05; /* $0.05 */
coins[7] = 0.01; /* $0.01 */
/* Set Counters For Each Type Of Coin */
for (x = 1; x <= 7; x++)
{
numCoins[x] = 0;
}
/* $2.00, $1.31, $1.00, $0.25, $0.10, $0.05, $0.01 */
/* Print Title */
printf ("\nSmallest Combination of Coins Finder\n\n");
/* Ask User For Input */
printf ("Enter An Amount of Money: $");
/* Get User Input */
scanf ("%f", &moneyfloat); /* Gets Users Input Of Amount of Money */
/* New Line */
printf ("\n");
/* Sequence To Calculate The Amount Of Coins Needed From The Value Entered */
for (y = 1; y <= 7; y++)
{
if (moneyfloat >= coins[y])
/* Money Is More Than Or Equal To Coin Value */
{
numCoins[y] = (int) (moneyfloat / coins[y]);
/* Finds number Of Coins */
moneyfloat = moneyfloat - (numCoins[y] * coins[y]);
/* Takes The Value For The Type of Coins from the Money */
sum = sum + numCoins[y];
/* Adds amount of coins to sum */
}
printf ("$%f coin: %d - $%f \n",coins[y], numCoins[y],(numCoins[y] * coins[y]));
/* Prints Type Of Coin, How Many, and Value */
}
/* Print Sum */
printf ("-----------------------------\n");
printf ("SUM: %d\n",sum);
/* Close Program (Repeat Twice Because Once Dosn't Work Correctly) */
getchar();
getchar();
return 0;
}
Please Help!