js实现ATM机,查询、存取款、转账、修改密码块

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        alert('欢迎来到我的ATM机');
        // 所有用户
        let users = [
            ['111', '111', 1000],
            ['222', '222', 1000]
        ];
        let n=0;//记录用户
        menu1();

        //一级菜单
        function menu1() {
            let first = true;
            while (first) {
                let num = prompt('1. 登录 2. 注册 3. 退出')-0;
                switch (num) {
                    case 1:
                        login();// 登录
                        break;
                    case 2:
                        register();// 注册
                        break;
                    case 3:
                        first = false;
                        break;
                    default:
                        alert('无效输入!');
                }
            }
            alert('退出成功')
        }

        function login(){
            //密码验证
            for(let i=0; i<1; i++){
                let user = prompt('请输入登录账号:');
                let psw = prompt('请输入登录密码:');
                for(let j=0; j<users.length; j++){
                    if(user == users[j][0] && psw == users[j][1]){
                        n = j;
                        menu2();
                        return;
                    }
                }
            }
            alert('登录失败');
        }

        // 二级菜单
        function menu2() {
            let second = true;
            while (second) {
                let num = prompt('1. 查询 2. 取钱 3. 存钱 4. 转账 5. 修改密码 6. 返回上一级')-0;
                switch (num) {
                    case 1:
                        getMoney();//查询
                        break;
                    case 2:
                        takeMoney();//取钱
                        break;
                    case 3:
                        saveMoney();//存钱
                        break;
                    case 4:
                        turnMoney();//转账
                        break;
                    case 5:
                        let res = changePwd();//修改密码
                        if(res){
                            second = false;
                        }
                        break;
                    case 6:
                        second=false;
                        break;
                    default:
                        alert('无效输入!');
                }
            }
        }

        //查询余额
        function getMoney(){
            alert(`账户:${users[n][0]},余额:${users[n][2]}`);
        }
        
        //取钱
        function takeMoney(){
            let num = prompt(`账户${users[n][0]},请输入取钱金额:`)-0;
            if(num > users[n][2]){
                alert('余额不足,请重新输入!');
                takeMoney();
            }else{
                users[n][2] -= num;
                alert(`账户:${users[n][0]},余额:${users[n][2]}`);
            }
        }

        //存钱
        function saveMoney(){
            let num = prompt(`账户${users[n][0]},请输入存钱金额:`)-0;
            users[n][2] += num;
            alert(`账户${users[n][0]},余额:${users[n][2]}`);
        }

        //转账
        function turnMoney(){
            let vip = prompt('请输入转账账户名:');
            let vipMoney = prompt('请输入转账金额:')-0;
            //金额不能大于余额
            if(vipMoney < users[n][2]){
                //转账用户不能是自己
                if(vip != users[n][0]){
                    let flag = true;
                    for(let i=0; i<users.length; i++){
                        //判断转账账户是否存在
                        if(vip == users[i][0]){
                            users[n][2] -= vipMoney;//自己余额减
                            users[i][2] += vipMoney;//对方余额加
                            alert(`账户${users[n][0]},转账成功!余额:${users[n][2]}`);
                            flag = false;
                            break;
                        }
                    }
                    if(flag){
                        alert('账户名有误!');
                    }
                }else{
                    alert('不能转给自己!');
                }
            }else{
                alert('余额不足!');
            }
        }

        //修改密码
        function changePwd(){
            let status = true;
            let oldPwd = prompt(`账户${users[n][0]},请输入原密码:`);
            let newPwd = prompt(`账户${users[n][0]},请输入新密码:`);
            if(oldPwd == users[n][1]){
                users[n][1] = newPwd;
                alert(`修改成功,你的新密码:${newPwd}`);
            }else{
                alert('旧密码有误!');
                status = false;
            }
            return status;
        }
    </script>
</body>
</html>

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值