ATM机(进阶版)

ATM机(进阶版)

ATM机高阶版
规则;(加入了用户和密码一共只有三次机会,机会用完了,退出循环)

法1:(和法2稍有一些差别)
//方法1(和法2稍有一些差别)
const readline = require('readline-sync');
let pwd,userName,count=3;
let name = 'lili'; passworld = 123; money = 1000;
let i = true;
    while(count){   //while(count>0&&i)
        console.log('请输入帐号');
        userName  = readline.question();
        if (userName == name) {
            console.log('请输入密码');
            pwd = readline.question();
            if(pwd == passworld){           
                console.log(`${userName}登录成功,余额为${money}`);    
                while (i) {
                    console.log(`请选择操作:1:存钱,2:取钱,3:查询余额,4:退出:`);
                    let num = readline.question() - 0;
                    switch (num) {
                        case 1:
                            console.log('请输入存钱金额:');
                            let jin = readline.question() - 0;
                            money+=jin;
                            console.log(`存钱成功,余额为:${money}`);
                            break;
                        case 2:
                            console.log('请输入取钱金额:');
                            let save = readline.question() - 0;
                            if (save <= money) {
                                money -= save;
                                console.log(`取钱成功,余额为:${money}`);
                            } else {
                                console.log(`余额不足`);
                            }
                            break;
                        case 3:
                            console.log('查询余额:');
                            console.log(`余额为:${money}`);
                            break;
                        case 4:
                            i=false;
                            console.log("欢迎下次光临");
                            break;
                        default:
                            console.log('你输入的数字不是查询业务,请重新输入!!');
                    }
                }
                break;
            }else{
                count--;
                if(count==0){
                    console.log(`用户多次输入错误,请联系客服`);
                }else{
                    console.log(`密码输入错误,用户还有${count}次机会`);
                } 
            }
        } else {
            count--; 
            if(count==0){
                console.log(`用户多次输入错误,请联系客服`);
            }else{
                console.log(`帐号输入错误,用户还有${count}次机会`);
            }        
           
        }
    }


法2:
const rs = require('readline-sync');
//用户信息
let username1 = "z3";
let pwd1 = "123";
let balance1 = 1000;

//登录的次数
let count = 3;
//循环的状态
let state = true;

//主程序
while (state) {
    console.log(`XXX,XXX`);
    console.log(`请输入账号:`);
    let inputName = rs.question();
    if (inputName == username1) {
        console.log(`请输入密码:`);
        let inputPWD = rs.question();
        if (inputPWD == pwd1) {
            while (state) {
                console.log(`请选择:1、查询 2、存钱 3、取钱 0、退出`);
                let option = rs.question() - 0;
                switch (option) {
                    case 1:
                        console.log(`您的余额是${balance1}`);
                        break;
                    case 2:
                        console.log(`请输入您要存入的金额:`);
                        let saveMoney = rs.question() - 0;
                        if (!isNaN(saveMoney)) {
                            balance1 += saveMoney;
                            console.log(`存钱成功!!!`);
                        } else {
                            console.log(`输入错误,请重新输入`);
                        }
                        break;
                    case 3:
                        console.log(`请输入您要取出的金额:`);
                        let drawMoney = rs.question() - 0;
                        if (!isNaN(drawMoney)) {
                            if (drawMoney <= balance1) {
                                balance1 -= drawMoney;
                                console.log(`取钱成功!!!`);
                            } else {
                                console.log(`余额不足`);
                            }
                        } else {
                            console.log(`输入错误,请重新输入`);
                        }
                        break;
                    case 0:
                        state = false;
                        break;
                }
            }
        } else {
            count--;
            count == 0 ?
                console.log(`3次机会已经用完,${inputName}账号,被冻结。`) : console.log(`您输入的密码错误!您还有${count}次机会`);
        }
    } else {
        count--;
        count == 0 ? state = false :
            console.log(`
        您输入的${inputName}账号不存在
        您还有${count}次机会
        `);
    }

    console.log(`欢迎下次光临`);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值