Write a function dispensebills The function determines the m

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) {

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


*/

 Write a function dispense_bills(). The function determines the minimum number of bills to dispense given a withdrawal amount. The possible bills dispensed incl
 Write a function dispense_bills(). The function determines the minimum number of bills to dispense given a withdrawal amount. The possible bills dispensed incl

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site