用函数实现建议atm功能
const rs = require("readline-sync")
// atm数据
let user = [{
name: "1",
PWD: "1",
balance: 1000
}, {
name: "2",
PWD: "2",
balance: 2000
}, {
name: "3",
PWD: "3",
balance: 3000
}];
// 登录
function dl() {
let count = 3;
let login = false;
let index = 0;
while (count) {
console.log("输入账号");
inputName = rs.question();
for (let i = 0; i < user.length; i++) {
if (inputName == user[i].name) { //账号是否存在
console.log("输入密码");
let inputPWD = rs.question();
if (inputPWD == user[i].PWD) { //判断密码是否正确
login = true; //登录成功
index = i;
return [login, index];
} else if (count == 1) {
console.log(`密码输入错误,您的3次机会已经用完,账号冻结!`);
count = 0;
break;
} else {
console.log(`密码输入错误,请重新输入,您还有${--count}次机会!`);
break;
}
} else if (i == user.length - 1 && count > 1) { // 判断是否找到最后的数据
console.log(`账号输入错误,请重新输入,您还有${--count}次机会!`);
} else if (i == user.length - 1 && count == 1) {
console.log(`账号输入错误,您的3次机会已经用完,账号冻结!`);
count = 0;
break;
}
}
}
return false;
}
// 查询
function look(index) {
console.log(`您的余额为${user[index].balance}`);
return
}
// 主体
function main() {
let arr = dl();
if (arr[0]) { // 判断登录是否成功
let index = arr[1];
let yes = false;
while (!yes) {
console.log("1.查询,2.存钱,3取钱,4.转账,0.退出");
let num = rs.question() - 0;
switch (num) {
case 1:
look(index);
break;
case 2:
saveMoney(index);
break;
case 3:
getMoney(index);
break;
case 4:
zhuanZhang(index);
break;
case 0:
console.log("谢谢惠顾");
return
}
}
}
}
main();
// 存钱、
function saveMoney(index) {
console.log("请输入存款金额");
let saveMoney = rs.question() - 0;
if (!isNaN(saveMoney) && saveMoney % 100 == 0) {
user[index].balance += saveMoney;
console.log(`存款成功你的余额现在为${user[index].balance}`);
} else {
console.log("请输入纯数字并且金额100的倍数");
}
}
// 取钱
function getMoney(index) {
console.log("请输入取款金额");
let getMoney = rs.question() - 0;
if (getMoney <= user[index].balance && getMoney % 100 == 0) {
user[index].balance -= getMoney;
console.log(`取款成功你的余额现在为${user[index].balance}`);
} else {
console.log("余额不足");
}
}
// // 转账
function zhuanZhang(index) {
console.log(`请输入转账账号:`);
let transName = rs.question()
if (transName != user[index].name) {
console.log(`请输入转账金额:`);
let transMoney = rs.question() - 0;
if (!isNaN(transMoney)) { // 判断是不是纯数字
if (transMoney <= user[index].balance) {
//当前账号减钱
user[index].balance -= transMoney;
//转帐账号加钱
user[transIndex].balance += transMoney;
console.log(`转帐成功!余额还剩${user[index].balance}转账账户余额${ user[transIndex].balance += transMoney}`);
} else {
console.log(`余额不足!!`);
}
}
} else {
console.log(`不能给自己转账`);
}
}

浙公网安备 33010602011771号