Write a function dispense_bills(). The function determines the minimum number of
ID: 3923794 • Letter: W
Question
Write a function dispense_bills(). The function determines the minimum number of bills to dispense given a withdrawal amount. The possible bills dispensed include: 50's, 20's, 10's, and 5's. The number of each bill to dispense should be stored indirectly through the pointers: fifties_ptr, twenties_ptr, tens_ptr, and fives_ptr. If the withdrawal_amount exceeds the balance, then the number of each bill to dispense should be set to 0, and 0 should be returned. If the withdrawal amount is less than or equal to the balance, then the number of each bill to dispense should be calculated, and 1 should be returned. The function header has been provided for you.//precondition: withdrawal amount must be a multiple of 5//return: 1 if the balance >= withdrawal_amount: 0 otherwise int dispense_bills(double balance, double withdrawal_amount, int *fifties_ptr, int *twenties_ptr, int *tens_ptr, int *fives_ptr) {Explanation / Answer
// C code to minum change required
#include <stdio.h>
// precondition: withdrawal amount must be a multiple of 5
// return: 1 if the balance >= withdrawal_amount; 0 otherwise
int dispense_bills(double balance, double withdrawal_amount,int *fifties_ptr, int *twenties_ptr, int *tens_ptr, int *fives_ptr)
{
if (balance >= withdrawal_amount)
{
*fifties_ptr = withdrawal_amount/50;
withdrawal_amount = withdrawal_amount - (*fifties_ptr * 50);
*twenties_ptr = withdrawal_amount/20;
withdrawal_amount = withdrawal_amount - (*twenties_ptr * 20);
*tens_ptr = withdrawal_amount/10;
withdrawal_amount = withdrawal_amount - (*tens_ptr * 10);
*fives_ptr = withdrawal_amount/5;
withdrawal_amount = withdrawal_amount - (*fives_ptr * 5);
return 1;
}
else
{
*fifties_ptr = 0;
*twenties_ptr = 0;
*tens_ptr = 0;
*fives_ptr = 0;
return 0;
}
}
int main()
{
double balance = 0.0, withdrawal_amount = 0.0;
int fifties = 0, twenties = 0, tens = 0, fives = 0, result = 0;
printf("Enter your bank balance: ");
scanf("%lf", &balance);
printf("Enter the amount to withdraw in multiples of 5s: ");
scanf("%lf", &withdrawal_amount);
// function calls
result = dispense_bills(balance, withdrawal_amount, &fifties, &twenties, &tens, &fives);
if(result == 1)
{
printf("fifties: %d twenties: %d tens: %d fives: %d ",fifties,twenties,tens,fives);
printf("minimum number of bills required: %d ",(fifties+twenties+tens+fives));
}
else
printf("Withdrawl amount is more than balance ");
return 0;
}
/*
output:
Enter your bank balance: 100
Enter the amount to withdraw in multiples of 5s: 110
Withdrawl amount is more than balance
Enter your bank balance: 200
Enter the amount to withdraw in multiples of 5s: 185
fifties: 3
twenties: 1
tens: 1
fives: 1
minimum number of bills required: 6
*/
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.