1、模拟银行ATM机存取款,实现单个帐户的查询、存款、取款、转帐、修改密码等功能。要求: 1、用模块化设计实现各功能; 2、检查用户名和密码匹配后进入菜单。
时间: 2023-12-21 11:03:13 浏览: 301
ATM机模拟,可以实现存款,取款,修改密码等功能.zip
5星 · 资源好评率100%
好的,我可以给你提供一个简单的实现思路:
1. 定义一个字典,用于存储用户信息,例如:{"username": "password", "balance": 1000.00},其中 "username" 是用户名, "password" 是密码, "balance" 是余额。
2. 编写一个登录函数,提示用户输入用户名和密码,然后检查是否匹配。
3. 编写一个菜单函数,提供查询、存款、取款、转账和修改密码等功能。
4. 编写查询函数,输出当前用户的余额。
5. 编写存款函数,提示用户输入存款金额,然后更新用户的余额。
6. 编写取款函数,提示用户输入取款金额,然后检查余额是否足够,如果足够则更新余额。
7. 编写转账函数,提示用户输入转账金额和目标用户名,然后检查余额是否足够,如果足够则更新余额和目标用户的余额。
8. 编写修改密码函数,提示用户输入新密码,然后更新用户信息。
9. 编写一个主函数,调用登录函数和菜单函数,实现整个程序的流程。
以下是一个简单的代码示例,仅供参考:
```python
users = {"user1": {"password": "123456", "balance": 1000.00},
"user2": {"password": "654321", "balance": 2000.00}}
def login():
username = input("请输入用户名:")
password = input("请输入密码:")
if username in users and password == users[username]["password"]:
print("登录成功!")
return username
else:
print("用户名或密码错误!")
return None
def menu(username):
while True:
print("1. 查询余额")
print("2. 存款")
print("3. 取款")
print("4. 转账")
print("5. 修改密码")
print("6. 退出")
choice = input("请选择功能:")
if choice == "1":
query_balance(username)
elif choice == "2":
deposit(username)
elif choice == "3":
withdraw(username)
elif choice == "4":
transfer(username)
elif choice == "5":
change_password(username)
elif choice == "6":
print("再见!")
break
else:
print("无效的选择!")
def query_balance(username):
balance = users[username]["balance"]
print(f"当前余额为:{balance:.2f}元")
def deposit(username):
amount = float(input("请输入存款金额:"))
users[username]["balance"] += amount
print("存款成功!")
def withdraw(username):
amount = float(input("请输入取款金额:"))
if amount > users[username]["balance"]:
print("余额不足!")
else:
users[username]["balance"] -= amount
print("取款成功!")
def transfer(username):
amount = float(input("请输入转账金额:"))
target_username = input("请输入目标用户名:")
if target_username not in users:
print("目标用户不存在!")
elif amount > users[username]["balance"]:
print("余额不足!")
else:
users[username]["balance"] -= amount
users[target_username]["balance"] += amount
print("转账成功!")
def change_password(username):
new_password = input("请输入新密码:")
users[username]["password"] = new_password
print("密码修改成功!")
def main():
username = login()
if username is not None:
menu(username)
if __name__ == "__main__":
main()
```
注意,这只是一个简单的实现示例,还有很多地方可以进行优化和改进,例如:增加异常处理、实现数据持久化等等。
阅读全文