JavaScript代码实现ATM自动存取款功能

JavaScript小项目-ATM存取款机

JavaScript代码如下:
1、用户名称及密码(已注册的)

var users = [
            ['admin','a123',1000],
            ['deng','d123',2000],
            ['zhang','z123',1000]
        ]

2、主界面功能

 function welcome(){
            alert('欢迎使用ATM存取款一体机')
            while(true){
                var option =  prompt('1.登录  2.注册  3.退出')
                switch(option){
                    case '1':
                       var loginUser = login()
                       if(loginUser){
                            main(loginUser)
                       }else{
                            return
                       }
                        break;
                    case '2':
                        register()
                        break;
                    case '3':
                        return; //跳出整个函数的执行
                    default:
                        alert('输入有误,请重新输入')
                        break;
                }
            }
        }
function main(loginUser){
            while(true){
              var option =  prompt(`${loginUser[0]}请选择:1.查询余额  2.存钱  3.取款  4.转账  5.切换用户  6.退出`)
                switch(option){
                    case '1':
                        searchMoney(loginUser)
                        break;
                    case '2':
                        saveMoney(loginUser)
                        break;
                    case '3':
                        getMoney(loginUser)
                        break;
                    case '4':
                        exchangeMoney(loginUser)
                        break;
                    case '5':
                        return;
                        // break;
                    case '6':
                        return;
                        // break;
                    default:
                        alert('输入有误,请重新输入')
                        break;
                }

            }

3、登录及注册功能

 function login(){
            var chance = 3
            while(true){
                var user = prompt('请输入用户名')
                var pass = prompt('请输入密码')

                // var loginUser = users.find(function(item){
                //     return user == item[0] && pass == item[1]
                // })
                    //箭头函数实现

                    var loginUser = users.find(item => user == item[0] && pass == item[1] )



                // console.log(loginUser)
                if(loginUser){
                    chance = 3
                    return loginUser //1.终止函数继续执行,把登录用户返回出去
                }else{
                    chance--
                    if(!chance){
                        alert('卡已被锁定')
                        return
                    }
                    alert(`用户名、密码有误,还剩${chance}次机会,请重新输入`)
                }
            }
        }

        function register(){
            while(true){
               var user = prompt('请输入注册用户名')

                var isHave =  users.some(function(item){
                    return user == item[0]
               })

               if(isHave){
                    alert('用户名已存在,请重新输入')
               }else{
                    //继续注册
                    var pass = prompt('请输入注册密码')
                    users.push([user,pass,0])
                    console.log(users)
                    return
               }
            }
        }

4、余额查询、存取功能代码

function searchMoney(loginUser){
            alert(`当前商户还剩${loginUser[2]}`)
        }

        function saveMoney(loginUser){
            // var temp = [...loginUser]
            var money = ~~prompt('请输入存多少钱')
            loginUser[2] += money
            alert(`用户已存入${money}元,当前余额为${loginUser[2]}元`)
        }

        function getMoney(loginUser){
            // var temp = [...loginUser]
            while(true){
                var money = ~~prompt('请输入取多少钱')
                if(money > loginUser[2]){
                    alert('余额不足,请重新输入')
                }else{
                    loginUser[2] -= money
                    alert(`用户已取出${money}元,当前余额为${loginUser[2]}元`)
                    return
                }
            }
        }

        function exchangeMoney(loginUser){
            while(true){
                var user = prompt('请输入转账账户')
                var oneData = users.find(function(item){
                    return item[0] == user
                })
                if(oneData){
                    while(true){
                        var money = ~~prompt('请输入转账金额')

                        if(loginUser[2]<money){
                            alert('余额不足,跑路')
                        }else{
                            loginUser[2] -= money;
                            oneData[2] += money
                            alert(`成功转账${money}元,余额还剩${loginUser[2]}元`)
                            return
                        }
                    }
                }
                alert('输入账户不存在,请重新输入')
            }
        }

欢迎评论区交流讨论。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李桥桉

支持一下作者

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值