用函数实现建议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 = 0i < user.lengthi++) {
            if (inputName == user[i].name) { //账号是否存在
                console.log("输入密码");
                let inputPWD = rs.question();
                if (inputPWD == user[i].PWD) { //判断密码是否正确
                    login = true//登录成功
                    index = i;
                    return [loginindex];
                } 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(`不能给自己转账`);
    }
}
posted @ 2020-12-13 20:35  Wwink  阅读(77)  评论(0)    收藏  举报