var users = []
var passes = []
var money = []
var loginIndex = -1
//程序执行
menuOne()
//一级菜单
function menuOne(){
var isover = false
do {
var input=prompt('输入选项:1.登录 2.注册 3.退出')
switch (input) {
case '1':
login()
//判断是否登录,进入二级菜单
if(loginIndex!=-1){
menuTwo()
}
break
case '2':
register()
break
case '3':
isover=true
break
default:
alert('无效选项')
break
}
} while(isover==false)
}
//二级菜单
function menuTwo(){
var isover = false
var input = prompt('1.查询 2.存钱 3.取钱 4.修改密码 5.转账 6.返回上一级')
switch (input) {
case '1':
//查询
queryMoney()
break
case '2':
//存钱
saveMoney()
break
case '3':
//取钱
takeMoney()
break
case '4':
//修改
isover = changePass()
break
case '5':
//转账
transferMoney()
break
case '6':
//返回上一级
loginIndex=-1
isover = true
break
}
}
//功能函数
function login(){
if(users.length == 0) {
alert('先注册,再登录')
}else{
var userinput = prompt('输入登录的用户名')
var passinput = prompt('输入登录的密码')
var index = users.indexOf(userinput)
if(index!=-1&&passes[index]==passinput) {
alert('登录成功')
//保存登录用户的下标
loginIndex = index
}else{
alert('登录失败')
}
}
}
function register(){
var userinput = prompt('输入注册用户名')
var passinput = prompt('输入注册密码')
var index = users.indexOf(userinput)
if(index == -1) {
users.push(userinput)
passes.push(passinput)
money.push(0)
alert('注册成功')
}else {
alert('用户已存在,请重新注册')
}
}
function queryMoney(){
alert('余额为:'+money[loginIndex])
}
function saveMoney(){
var m = Number(prompt('输入存的金额:'))
if(m<0) {
alert('金额无效,将返回二级菜单')
}else {
money[loginIndex]+=m
alert('存钱成功')
}
}
function takeMoney(){
var m = Number(prompt('输入要取的金额'))
if(m<=money[loginIndex]){
money[loginIndex]-=m
alert('取钱成功')
}else{
alert('余额不足,充值后再取')
}
}
function changePass(){
//先输入原密码,正确后再输入新密码并保存
var oldPass = prompt('输入旧密码')
if(oldPass==pass[loginIndex]){
var newPass = prompt('输入新密码')
passes[loginIndex]=newPass
alert('修改成功,将重新登录')
return true
}else{
alert('旧密码错误')
return false
}
}
function transferMoney(){
//转给谁,转多少(余额足够)
var other = prompt('输入要转账的用户名')
//获取转账用户的下标
var index = users.indexOf(other)
//需要用户已存在且不是自己
if(index != -1 && index !=loginIndex){
var m = Number(prompt('输入要转的金额'))
//判断是否足够
if(m<=money[loginIndex]){
money[loginIndex]-=m
money[index]+=m
alert('转账成功')
}else {
alert('余额不足')
}
}else{
alert('不存在该用户或不能转给自己')
}
}