Having problem with this, anyone got a working (ANCI) C program? Write a program
ID: 3652246 • Letter: H
Question
Having problem with this, anyone got a working (ANCI) C program?Write a program to dispense change. The user enters the amount paid and the amount due. The program determines how many dollars, quarters, dimes, nickels and pennies should be given as change. Write a function with four output parameters that determines the quantity of each kind of coin.
Explanation / Answer
#include #include void change(double coin_change, int *quarters, int *dimes, int *nickels, int *pennies); int main(void) { int c_dollars, c_quarters = 0, c_dimes = 0, c_nickels = 0, c_pennies = 0; double a_paid, a_due, m_change, coin_change; printf("Enter the amount paid> "); scanf("%lf", &a_paid); printf("Enter the amount due> "); scanf("%lf", &a_due); m_change = a_paid - a_due; c_dollars = floor(m_change); coin_change = m_change - floor(m_change); // shows coin change printf(" %f ", coin_change); change(coin_change, &c_quarters, &c_dimes, &c_nickels, &c_pennies); printf("Change is dollars: %d$, quarters: %d, dimes: %d, nickels: %d, pennies: %d", c_dollars, c_quarters, c_dimes, c_nickels, c_pennies); return(0); } void change(double coin_change, int *quarters, int *dimes, int *nickels, int *pennies) { int q = 0, d = 0, n = 0, p = 0; do{ if(coin_change >= 0.25){ q++; *quarters = *quarters + q; coin_change = coin_change - q*0.25; } else if( coin_change >= 0.10){ d++; *dimes = *dimes + d; coin_change = coin_change - 0.1; } else if( coin_change >= 0.05){ n++; *nickels = *nickels + n; coin_change = coin_change - (n*0.05); } else if(coin_change >= 0.01){ p++; *pennies = *pennies + p; coin_change = coin_change - (p*0.01); } }while(coin_change>0); }Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.