ATM 管理系统

这个作业属于哪个课程 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/
这个作业要求在哪里 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11477
这个作业的目标 <编写一个ATM管理系统>
学号 <3190704133>
一、题目要求
编写一个ATM管理系统,语言不限,要求应包括以下主要功能:
(1)开户,销户
(2)查询账户余额
(3)存款
(4)取款
(5)转账(一个账户转到另一个账户)
第一步先设置好固定用户嘿嘿,开户,销户还是不会嘿嘿

三个用户的账号信息作为数据源,用户信息包含:密码,姓名,余额,用户等级

bank_database= [
{'id':'yuan','user_password':'yuan','name': '袁晋生1号', 'bank_balance': 30820456, 'user_grade': 'VIP用户'},
{'id':'jin','user_password':'AL222K','name': '袁晋生2号', 'bank_balance': 94599988, 'user_grade': '白金用户'},
{'id':'sheng','user_password':'yuanAL222K','name': '袁晋生3号', 'bank_balance': 99949954, 'user_grade': '黄金用户'}
]

1.登陆检查功能,定义验证id账号密码匹配函数

def login_user_check():
'''
验证登录密码匹配的函数
'''
global bank_database
user_id=input('请输入您的卡片账号')
user_password=input('请输入您的密码:')
for NewUser in range (len (bank_database)):
#遍历判断密码是否与表内一个用户密码进行匹配
if user_id== bank_database[NewUser]['id'] and user_password == bank_database[NewUser]['user_password']:
print('尊贵的{} {},您已登录成功!请进行下列操作'.format(bank_database[NewUser]['user_grade'],bank_database[NewUser]['name']))
print ('——' * 33)
return NewUser
else:
#错误重新输入
print('输入的账号密码有误,请重新输入')
break

2.查询余额功能

def check_balance():
"""
查询余额功能
"""
global bank_database
print('您的账户余额还有{}元'.format(bank_database[NewUser]['bank_balance']))

3.存款功能

def add_balance():
'''
存款功能
'''
global bank_database
add_money=int(input('请输入存款金额:'))
#对用户的余额进行添加
bank_database[NewUser]['bank_balance']+=add_money
print('尊贵的用户,您的专属账户已成功存入{},目前余额为{}'.format(add_money,bank_database[NewUser]['bank_balance']))

4.取款功能

def draw_balance():
"""
取款功能
"""
global bank_database
draw_money= int (input ('请输入取款金额:'))
#判断余额与金额的大小,判定是否可以取出
if bank_database[NewUser]['bank_balance']>=draw_money:
bank_database[NewUser]['bank_balance']-=draw_money
print ('您已成功取款{},目前余额剩余{}'.format (draw_money, bank_database[NewUser]['bank_balance']))
if bank_database[NewUser]['bank_balance'] < draw_money:
print('您的余额不足!')

5.转账系统

def Transfer():
global bank_database

print('每次转账和提现收取百分之5的服务费.')
inputs = eval(input("please input you should how much money:"))
SS = inputs*0.05
zong = inputs + SS
if ( bank_database[NewUser]['bank_balance'] < zong or bank_database[NewUser]['bank_balance']< inputs):
    print('余额不足')
else:
    bank_database[NewUser]['bank_balance']= bank_database[NewUser]['bank_balance']- zong
    print ('+------------------------------+')
    print ("成功转账%s" % inputs)
    print ("扣除手续费%s" % SS)
    print ('+------------------------------+')
return  bank_database

6.退出系统

def loginOut():
user_choose=input('请问是否登出,是请按1,否请按2,请输入:')
while user_choose=='1':
print('已成功登出,请取回你的卡片')
break
else:
print('请继续操作系统')

定义一个欢迎界面函数

def welcome_user():
print ("=")
print (" 欢迎登录安徽工程大学软件191银行 ")
print ("
=")
print("由于技术有限只能暂缓固定三个用户。用户一是yuan.密码是yuan。用户2是jin,密码是AL222K。用户名三是sheng 密码是yuanAL222K嘿嘿嘿")

定义一个用户界面函数

def user_interface():
'''
用户界面的函数
'''
print ("{0:1}{1:<30}{2:>30}{0:1}".format ("|", "1.查询账户", "2.存款"))
print('\n')
print ("{0:1}{1:<30}{2:>30}{0:1}".format ("|", "3.取款", "4.转账"))
print ("{0:1}{1:<30}{2:>30}{0:1}".format ("|", "1.查询账户", "6.退出账户"))
print ("=" * 67)
print("由于技术有限只能暂缓固定三个用户。用户一是yuan.密码是yuan。用户2是jin,密码是AL222K。用户名三是sheng 密码是yuanAL222K嘿嘿嘿")

用户交互界面

while True:
#欢迎界面
welcome_user()
#用户登陆界面并全局引入NewUser
NewUser=login_user_check()
#检查是否账号密码无误,再进行登陆后续操作
if NewUser is None:
continue
while True:
user_interface()
user_key=input('请输入业务操作')
if user_key'1':
check_balance()
elif user_key
'2':
add_balance()
elif user_key'3':
draw_balance()
elif user_key
'4':
Transfer()
elif user_key'5':
check_balance()
elif user_key
'6':
loginOut()
break

posted @ 2020-11-18 23:38  yuanjinsheng  阅读(155)  评论(0)    收藏  举报