当前位置 博文首页 > 文章内容

    ATM机

    作者: 栏目:未分类 时间:2020-07-12 14:01:03

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    const rs = require("readline-sync");

    let account = [
        ["helei", 123, 1000],
        ["wangsan", 456, 3000]
    ];
    //判断次数
    let count = 3;

    // 状态值
    let state = true;
    // 主函数

    // main代表主函数
    function main(inputName) {

        while (state) {
            console.log(`请输入你要办理的业务
        1、查询 2、存钱 3、取钱 4、转账 5、切换账号  6、修改密码 0、退出`);
            let business = rs.question() - 0;
            switch (business) {
                case 1:
                    console.log(`${account[inputName][0]}账户的余额为:${account[inputName][2]}元`);
                    break;
                case 2:
                    saveMoney(inputName);
                    break;
                case 3:
                    outMoney(inputName);
                    break;
                case 4:
                    transfer(inputName);
                    break;
                case 5:
                    inputName = switchAccount(inputName);
                    break;
                case 6:
                let temp= changePassword(inputName);
                if(temp){
                    return "reg";
                }
                break;
                case 0:
                    console.log(`欢迎下次光临`);

                    return;
                default:
                    console.log(`没有你要办理业务的选项`);
                    break;

            }
        }

    }

    // login代表登陆
    function login(isLogin, trasnName, indexNum) {

        let inputNam = trasnName;
        if (!trasnName) {
            console.log(`请输入你的账号`);
            inputNam = rs.question();
        }

        for (let i = 0; i < account.length; i++) {
            if (inputNam == account[i][0]) {
                if (!isLogin) {
                    return i;
                }
                if (i == indexNum) { //判断是不是切换账户
                    console.log(`您已经在${account[i][0]}下了。`);
                    return indexNum;
                }
                while (count) {
                    console.log(`请输入你的密码`);
                    let inputPWD = rs.question();
                    if (inputPWD == account[i][1]) {
                        main(i);
                        return i;

                    } else if (count == 1) {
                        console.log(`你的账户已冻结,请联系工作人员!!!`);
                        return;
                    } else {
                        console.log(`你输入的密码有误,你还有${--count}次机会`);
                    }
                }


            } else if (i == account.length - 1 && isLogin != "reg") {
                console.log(`你输入的账号不存在`);
            }
        }
    }


    // 存钱
    function saveMoney(inputName) {
        console.log(`请输入你要存入的金额`);
        let inputMoney = rs.question() - 0;
        if (inputMoney < account[inputName][2]) {
            if (inputMoney > 0 && inputMoney % 100 == 0 && !isNaN(inputMoney)) {
                account[inputName][2] += inputMoney;
                console.log(`恭喜你,存钱成功`);

            } else {
                console.log(`请输入正确的金额`);

            }
        } else {
            console.log(`您的余额不足,或者你输入的是一个非数字`);

        }

    }

    // 取钱
    function outMoney(inputName) {
        console.log(`请输入你要取出的金额`);
        let outMoney = rs.question() - 0;
        if (outMoney < account[inputName][2]) {
            if (outMoney > 0 && outMoney % 100 == 0 && !isNaN(outMoney)) {
                account[inputName][2] -= outMoney;
                console.log(`恭喜你,取钱成功`);

            } else {
                console.log(`请输入正确的金额`);

            }
        } else {
            console.log(`您的余额不足,或者你输入的是一个非数字`);

        }
    }

    // 转账

    function transfer(inputName) {
        console.log(`请输入转账的账户`);
        let trasnName = rs.question();
        let temp = login(false, trasnName) //返回当前登录的下标
        if (inputName != temp) {
            if (temp || temp == 0) {
                console.log(`请您输入你要转出的金额`);
                let outMoney = rs.question() - 0;
                if (outMoney > 0 && outMoney % 100 == 0 && outMoney < account[inputName][2] && !isNaN(inputName)) {
                    account[inputName][2] -= outMoney;
                    account[temp][2] += outMoney;
                } else {
                    console.log(`请输入100的倍数`);

                }

            }
        } else {
            console.log(`不能给当前用户转钱`);

        }
    }

    // 切换账号
    function switchAccount(inputName) {
        console.log(`请输入切换账号的名字`);
        let switchName = rs.question();
        let temp = login(true, switchName, inputName)
        if (temp || temp === 0) {
            return temp; //把切换账户的下标返回给主程序
        } else {
            return inputName; //如果账户不存在,则返回当前账户下标给主程序
        }

    }


    // 登录
    function startATMSystem() {
        while (state) {
            console.log(`欢迎来到成都市高新区中和镇ICBC银行
            1、注册  2、登录
            `);
            let choice = rs.question() - 0;
            switch (choice) {
                case 1:
                    register();
                    break;
                case 2:
                    login(true);
                    break;
                default:
                    console.log(`请输入正确功能数字。`);
            }
        }
    }

    startATMSystem();

    function register() {
        let user = [];
        console.log(`请输入账户:`);
        let username = rs.question();

        let temp = login("reg", username); //返回转账账户的下标
        if (!temp && temp != 0) {
            console.log(`请输入密码:`);
            let userpwd = rs.question();
            console.log(`请确认密码:`);
            let userpwd2 = rs.question();
            if (userpwd2 === userpwd) {
                user.push(username, userpwd, 0);
                account.push(user);
            } else {
                console.log(`确认密码与密码不一致`);
            }
        } else {
            console.log(`您输入的账号 ${username},已经存在!!!`);
        }
    }


    // 修改密码
    function changePassword(inputName){
      while(state){
        console.log(`请输入你要修改的密码`);
        let xiugai=rs.question();
        if(xiugai==account[inputName][2]){
        console.log(`你输入的密码和原密码一致请重新输入`);
        
        }else{
            console.log(`请确认你要修改的密码`);
            let xiugai1=rs.question();
            if(xiugai1==xiugai){
                console.log(`修改成功`);
                return true;
            }else{
                console.log(`你输入的修改密码和确认密码不一致`);
            }
        }
      }
        
        
    }