const rs = require("readline-sync");
let userArr = ["aa", "123", 1500, "bb", "456", 2000];
let count = 3;
let state = true;
console.log(`欢迎来到大富豪银行`);
// 系统
function system() {
// console.log(`欢迎来到完美银行`);
console.log(`请选择服务1.登录账户 2.注册账户 0、退出`);
let register = rs.question() - 0;
switch (register) {
case 1:
inpurName();
break;
case 2:
registered();
break;
case 0:
exit();
break;
default:
console.log(`操作错误,请重新选择服务!!`);
registered()
break;
}
}
// 注册
function registered() {
console.log(`请输入您的账户名`);
let userName = rs.question();
userArr.push(userName);
console.log(`请输入您的密码`);
let password = rs.question();
userArr.push(password);
userArr.push(0);
console.log(`账号注册成功!!!`);
inpurName();
}
// 登录 切换账号
function inpurName(i) {
while (count > 0) {
console.log(`请输入您的账号:`);
let inputName = rs.question();
// 判断是不是切换自己的账号
if (inputName != userArr[i]) {
//数组的遍历
for (let i = 0; i < userArr.length; i++) {
if (inputName == userArr[i] && i % 3 == 0) {
console.log(`请输入您的密码`); //
let inputPWD = rs.question();
if (inputPWD == userArr[i + 1]) {
// 主程序
ATMMain(userArr[i], i);
break;
} else {
console.log(`密码错误,请重新输入账户密码!!!`);
count--;
if (count == 0) {
console.log(`3次密码输入错误,账户冻结,有需要请联系客服!!!!!`);
} else {
console.log(`你还有${count}次机会`);
}
break;
}
} else if (i == userArr.length - 1) {
console.log(`您输入的${inputName}不存在`);
count--;
if (count == 0) {
console.log(`3次账号输入错误,账户冻结,有需要请联系客服!!!!!`);
} else {
console.log(`你还有${count}次机会`);
}
break;
}
}
}
else {
console.log(`你当前已经在${userArr[i]}账号下`);
break;
}
}
}
// 主程序
function ATMMain(inputName, i) {
while (state) {
console.log(`请选择服务:1.查询 2.存款 3.取款 4.转账 5.修改密码 6.切换账户 0.退出账号`);
let option = rs.question() - 0;
switch (option) {
// 退出账户
case 0:
exit();
break;
// 查询余额
case 1:
console.log(`您${inputName}账户下的,余额是${userArr[i + 2]}`);
break;
// 存款
case 2:
saveMoney(i);
break;
// 取款
case 3:
dropMoney(i);
break;
// 转账
case 4:
transName(i);
break;
// 修改密码
case 5:
inputPWD(i);
break;
// 切换账户
case 6:
inpurName(i);
// switchAccount(i);
break;
default:
console.log(`选择错误,请重新选择服务!!`);
}
}
}
// 存钱
function saveMoney(i) {
console.log(`请输放存入钞票(面额为100元的):`);
let saveMoney = rs.question() - 0;
if (!isNaN(saveMoney) && saveMoney > 0 && saveMoney % 100 == 0) {
userArr[i + 2] += saveMoney;
console.log(`存入成功`);
} else {
console.log(`存入的金额有误!!`);
}
}
// 取钱
function dropMoney(i) {
console.log(`请输入取出的金额:`);
let dropMoney = rs.question() - 0;
if (!isNaN(dropMoney) && dropMoney > 0) {
if (dropMoney <= userArr[i + 2]) {
userArr[i + 2] -= dropMoney;
console.log(`取款成功`);
} else {
console.log(`余额不足!!`);
}
} else {
console.log(`输入错误`);
}
}
// 转账
function transName(i) {
console.log(`请输入转账的账号`);
let transName = rs.question();
// 查找transName是否存在
let index = userArr.indexOf(transName);
//index != -1转账账号存在(index % 3 确保只判断账号)
if (index != -1 && index % 3 == 0) {
//判断是不是给自己转账
if (index != i) {
//如果存在获取tansName的下标(index)
console.log(`请输入转账的金额:`);
let transMoney = rs.question() - 0;
console.log(`转账成功`);
if (!isNaN(transMoney) && transMoney > 0) {
if (transMoney <= userArr[i + 2]) {
//当前账户减钱
userArr[i + 2] -= transMoney;
//当前账户加钱
userArr[index + 2] += transMoney;
} else {
console.log(`余额不足!!`);
}
} else {
console.log(`输入错误`);
}
//请输入转账金额
} else {
console.log(`不能给自己转帐!`);
}
} else {
console.log(`您转账的${transName}账号不存在`);
}
}
// 修改密码
function inputPWD(i) {
console.log(`请输入您的初始密码`);
let inputPWD = rs.question();
if (inputPWD == userArr[i + 1]) {
console.log(`请输入新密码`);
let inputPWD1 = rs.question();
console.log(`请再次输入您的密码`);
let inputPWD2 = rs.question();
if (inputPWD1 == inputPWD2) {
userArr[i + 1] = inputPWD1;
console.log(`密码修改成功!`);
console.log(`请重新登录账号!!!`);
} else if (inputPWD1 != inputPWD2) {
console.log(`两次输入的密码不相同,修改密码失败`);
}
// 修改密码后重新登录
inpurName();
} else {
console.log(`初始密码错误,请核对后再输入`);
}
}
// 退出账户
function exit() {
console.log(`欢迎下次光临!!!`);
//退出3次机会循环
count = 0;
//退出选项循环
state = false;
//退出数组遍历
i = userArr.length;
}
// 调用系统
system();
函数版ATM机
最新推荐文章于 2021-05-17 16:11:13 发布