ATM管理系统

博客班级 班级链接
作业要求 作业链接
学号 3180701119

一.题目要求

编写一个ATM管理系统,语言不限,要求应包括以下主要功能:

(1)开户,销户

(2)查询账户余额

(3)存款

(4)取款

(5)转账(一个账户转到另一个账户)等...

允许网上查询参考,但请注意不要直接抄袭,可以理解看懂别人的代码,再自己编写

二、代码提交

登录界面
@Welcom_screen
def login_operation(idnum): #登陆成功操作
while True:
print(login_screen)
option = input("请选择操作:")
if option == '1':
draw_down_money(idnum) #取钱
elif option == '2':
save_money(idnum) # 存钱
elif option == '3':
trasf_accnt(idnum) # 转账
elif option == '4':
inquiry(idnum) #查询账户信息
elif option == '5':
blocked(idnum)
elif option == '6':
revise_passwd(idnum) # 修改密码
elif option == '7':
main()
else:
print("请输入正确的操作...")

取款

def draw_down_money(idnum): #取款
while True:
get_money = float(input("请输入取款金额:"))
print("您的取款金额为:%d" % (get_money))
option = input("是否确认 (y/n/q(退出))😊
if option'y':
spare_money=usrinfo.get(idnum).get('money')
if get_money<=spare_money:
new_spare_money=spare_money-get_money
usrinfo[idnum].update({
'money':new_spare_money
})
print("正在取款....")
time.sleep(4)
print("取款成功...\n 即将退出...")
time.sleep(3)
else:
print("余额不足...\n 即将退出...")
time.sleep(3)
break
elif option'n':
print("请重新输入...\n")
elif option'q':
break
else:
print("输入错误...")

存款

def save_money(idnum): #存款
while True:
save_money = float(input("请输入存款金额:"))
print("您的存款金额为:%d" % (save_money))
option = input("是否确认 (y/n/q(退出))😊
if option'y':
spare_money=usrinfo.get(idnum).get('money')
new_spare_money=spare_money+save_money
usrinfo[idnum].update({
'money':new_spare_money
})
print("正在存款....")
time.sleep(3)
print("存款成功...")
print("即将退出...")
time.sleep(3)
break
elif option'n':
print("请重新输入...\n")
elif option'q':
break
else:
print("输入错误...")

转账

def trasf_accnt(idnum): #转账
while True:
transf_cardnum=input("转账卡号:")
if transf_cardnum in usrinfo and usrinfo.get(transf_cardnum).get('status')0:
transf_money=float(input("转账金额:"))
if transf_money<=usrinfo.get(idnum).get('money'):
spare_my_money=usrinfo.get(idnum).get('money')
spare_transfer_money=usrinfo.get(transf_cardnum).get('money')
new_my_money=spare_my_money-transf_money
new_transfer_money=spare_transfer_money+transf_money
usrinfo[idnum].update({
'money': new_my_money
})
usrinfo[transf_cardnum].update({
'money':new_transfer_money
})
print("正在转账....")
time.sleep(3)
print("您已经成功向 %s 帐号用户转账 %.2f 元" %(transf_cardnum,transf_money))
print("即将退出...")
time.sleep(3)
break
else:
print("对不起, 您的余额不足...")
print("即将退出...")
time.sleep(3)
break
else:
print("帐号不存在或已被冻结...")
print("即将退出...")
time.sleep(3)
break

查询账户信息

def inquiry(idnum): #查询账户信息
for i in usrinfo[idnum].items():
print(i)
while True:
print("\n\n")
option=input(" 退出 (q)??
if option'q':
break
else:
print("请输入正确操作...")

销户

def blocked(idnum): #销户
while True:
option = input(" 是否确认销户 (y/n)??
if option == 'y':
new_status=1
usrinfo[idnum].update({'status':new_status})
print("销户中....")
time.sleep(3)
print("销户成功, 即将退出登陆, 返回主页...")
time.sleep(3)
main()
elif option == 'n':
print("不销户...\n 即将退出...")
time.sleep(3)
break
else:
print("输入错误, 请重新确认...")

修改密码

def revise_passwd(idnum): #修改密码
new_passwd=input("新密码:")
usrinfo[idnum].update({
'passwd':new_passwd
})
print("修改密码成功!\ns 后退出...")
time.sleep(3)

注册

def register(newinfo): #注册函数
while True:
name = input("请输入用户名:")
id=make_random_id()
if id not in usrinfo:
newinfo['cusumer'] = name
newinfo['cardnum']=id
newinfo['status'] = 0 # 状态激活
password = input("请输入账户密码:")
newinfo['passwd'] = password
newinfo['money'] =0.00
print("注册成功!")
print("您的卡号:%s" %(id))
return id, newinfo
else:
print("卡号生成失败...\n 请重新注册...")

主函数

def main():
print(main_screen)
while True:
option = input("请选择操作:")
if option == '1': ## 登陆
login()
elif option == '2': ## 注册
newinfo={

}
usrid,info=register(newinfo)
usrinfo[usrid]=info #字典嵌套
print(usrinfo)
elif option == '3':
exit()
else:
print("请输入正确的操作!")
运行截图










三、实验小结

posted @ 2020-11-18 21:56  一支丶榴莲  阅读(109)  评论(0编辑  收藏  举报
分享到: