模拟ATM系统
2020-06-24 本文已影响0人
蔚完待旭
let accounts=[11,22,33];//账号
let passwords=[11,22,33];//密码
let money=[100,200,300];//存款
let login=2; //记录当前登录用户是谁
checkLogin();
let myNo=0;//记录登录次数
function checkLogin() {
// for(let i=0;i<3;i++){//可以输入三次账号和密码
let loginInput=prompt("输入账号");//11
let passInput=prompt("输入密码");//11
for(let j=0;j<accounts.length;j++){//验证账号和密码是否一致 j=0
if(accounts[j]==loginInput&&passwords[j]==passInput){
login=j;//验证成功,记录当前登录用户
myNo=0;
//进入主菜单
mainDisplay();
}else{
myNo++;
if(myNo<3){
checkLogin();
}else{
alert("账户被冻结")
}
}
}
// }
}
//主菜单
function mainDisplay() {
let chooseInput=prompt("输入操作 0.查询余额 1.存款 2.转账 3.退出 ");
if(chooseInput==2){//转账
//调用转账函数
transfer()
}else if(chooseInput==1){//取款
//调用存款函数
saveMoney()
}else if(chooseInput==3){//退出
window.close();
}
}
//存款函数
function saveMoney() {
let moneyInput=parseInt(prompt("输入存款金额"));
money[login]+=moneyInput;
alert(money[login]);
//进入主菜单
mainDisplay();
}
//转账
function transfer() {
let transferAcc=prompt("请输入转账账号");
let transferMoney=parseInt(prompt("请输入转账金额"));
//1.如果转账金额>账号内得钱
if(transferMoney>money[login]){
alert("转账超支,请重新输入");
transfer();//自己调用自己
}else{//转账金额足够
for(let i=0;i<accounts.length;i++){//被转用户是否存在
if(transferAcc==accounts[i]&&transferAcc!=accounts[login]){//用户存在
money[i]+= transferMoney;
money[login]-=transferMoney;
alert("转账成功");
}else if(transferAcc==accounts[login]){//不能给自己转
alert("不能给自己转账");
break;
}else if(i==accounts.length-1){//没有该用户
alert("账号不存在,请重新输入");
transfer();
}
}
mainDisplay();
}
}