67.7k views
1 vote
Write a program that will simulate a change machine found at cash registers. Input the amount due and amount paid from the keyboard. Tell the user how much change is owed and number of quarters, dimes, nickels, and pennies in change a customer would receive. Pay special attention to roundoff error. Your program should use division and modular division. No if’s or loops may be used. You may assume all change will be between $0 and $.99 Hint: Modular division is a great way to find the remainder of a division. Think about how you can use this to calculate the change that is left over after some coins are given.

User Ashay
by
8.3k points

1 Answer

4 votes

Answer:

amount_due = float(input("Enter amount due: "))

amount_paid = float(input("Enter amount paid: "))

change = amount_paid - amount_due

pennies = change * 100

quarters = int(pennies / 25)

pennies %= 25

dimes = int(pennies / 10)

pennies %= 10

nickels = int(pennies / 5)

pennies %= 5

pennies = int(pennies)

print("Your change is $%.2f" % change)

print("Quarters: " + str(quarters) + ", Dimes: " + str(dimes) + ", Nickels: " + str(nickels) + ", Pennies: " + str(pennies))

Step-by-step explanation:

*The code is in Python.

Ask the user to enter amount due and amount paid

Calculate the change

Convert change to pennies

Find the number of quarters, dimes, nickels in the pennies using division and modular operator. The remaining amount equals the number of pennies

Print the change

Print the number of quarters, dimes, nickels, and pennies

Let me demonstrate calculating the quarters:

Let's say pennies equals 39,

quarters = int(pennies / 25) → int(39/35) → int(1.11) = 1

pennies %= 25 (same as pennies = pennies % 25) → 39 % 25 → 14

User Jason Govig
by
8.2k points