Write a function dispensebills The function determines the m
Solution
// 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
*/

