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(`欢迎下次光临`);
}