atm出钞程序怎么写

时间:2025-01-29 01:08:38 单机游戏

ATM出钞程序可以用多种编程语言实现,这里提供一个用Python编写的简单示例:

```python

class ATM:

def __init__(self):

self.balance = 0

self.banknotes_count = [0, 0, 0, 0, 0] [20, 50, 100, 200, 500]

def deposit(self, banknotes_count):

for i, count in enumerate(banknotes_count):

self.balance += count * (20 if i == 0 else 50 if i == 1 else 100 if i == 2 else 200 if i == 3 else 500)

def withdraw(self, amount):

if amount > self.balance:

return [-1]

else:

for i in range(5, -1, -1):

if amount >= (1000 if i == 4 else 500 if i == 3 else 200 if i == 2 else 100 if i == 1 else 20)[i-1]:

amount -= (1000 if i == 4 else 500 if i == 3 else 200 if i == 2 else 100 if i == 1 else 20)[i-1]

self.banknotes_count[i-1] += 1

self.balance -= amount

return self.banknotes_count

示例使用

atm = ATM()

atm.deposit([0, 0, 1, 2, 1]) 存入1张100, 2张50, 1张200, 1张100

print(atm.withdraw(600)) 取出600

print(atm.withdraw(550)) 尝试取出550,但余额不足

```

这个程序定义了一个`ATM`类,包含存款和取款的方法。`deposit`方法用于增加ATM中的钞票数量,`withdraw`方法用于减少余额并返回取出的钞票数量。如果取款金额超过余额,则返回`[-1]`。

请注意,这只是一个简单的示例,实际的ATM系统会更复杂,包括密码验证、交易记录、并发处理等。