運行環境node.js
const readline = require('readline-sync');
let num = 0;
let users = [['liuwujiang', '659'], ['yingyingying', '111'], ['1', '1']];
let isOk = true;
let userName, password;
while (true) { //判斷是否退出
while (true) { //判斷登錄是否成功
console.log('1' + '.' + ' ' + '登錄');
console.log('2' + '.' + ' ' + '注冊');
console.log('請選擇(1-2):')
let sel = readline.question();
if (sel === '1') {
console.log("請輸入用戶名:");
userName = readline.question();
console.log("請輸入密碼:");
password = readline.question();
let islogin = false;
for (let i = 0; i < users.length; i++) {
if (users[i][0] == userName && users[i][1] == password) { //判斷數組users里是否有匹配數據
console.log('登錄成功,歡迎您');
islogin = true;
}
}
if (islogin == false) {
num++; //記錄登錄錯誤次數
if (num >= 3) {
console.log('密碼錯誤三次,鎖卡~嗝~~');
isOk = false;
break;
}
else {
isOk = false;
console.log('登錄失敗,請重新登錄');
}
}
else {
isOk = true;
}
}
else if (sel === '2') {
console.log("請輸入用戶名:");
let userName1 = readline.question();
console.log("請輸入密碼:");
let password2 = readline.question();
let repeatUserName = false; //用於判斷用戶名是否重復
for (let i = 0; i < users.length; i++) {
if (users[i][0] == userName1) { //判斷用戶名是否重復
console.log('已存在用戶名,請重新注冊');
repeatUserName = true;
}
}
if (repeatUserName == false) {
users.push([userName1, password2]);
console.log('注冊成功,歡迎您');
}
isOk = false; //返回循環
}
else
console.log('輸入錯誤,請輸入1-2之間的數');
if (isOk) { //判斷上面所有信息是否正確,是則終止循環
break;
}
}
if (isOk == false) //判斷是否鎖卡,如果已鎖,則終止整個程序
{
break;
}
let saveMoney = 0, takeMoney = 0, smile = 0, getMoney, tempMoney;
while (true) { //根據需求重復選擇
console.log('1' + '.' + " " + "存款");
console.log('2' + '.' + " " + "取款");
console.log('3' + '.' + " " + "查看余額");
console.log('4' + '.' + " " + "修改密碼");
console.log('5' + '.' + " " + "退出");
console.log("請選擇(1-5):");
let changepsdOk = true;
let sel2 = readline.question();
switch (sel2) {
case '1': {
console.log("請輸入存款金額(元):");
getMoney = readline.question();
saveMoney += getMoney - 0;
if (getMoney > 10000) { //判斷存款是否>10000,滑稽~
console.log('土豪,我們做朋友吧!')
}
break;
}
case '2': {
console.log("請選擇取款金額(元):");
takeMoney = readline.question();
tempMoney = saveMoney; //臨時存儲存款,方便取款>存款時重新賦值
saveMoney -= takeMoney;
if (takeMoney > 5000) {
console.log('一次最多只能取5000元哦,請重新選擇');
break;
}
else {
if (saveMoney < 0) { //判斷取款后余額是否<0
smile++; //記錄取款額>存款次數
if (smile == 2) {
console.log('別亂摁了,這不是你的幸運數字');
saveMoney = tempMoney;
break;
}
else if (smile == 3) {
console.log('嘖嘖嘖,承認自己窮就那么難嗎←_←');
saveMoney = tempMoney;
break;
}
else if (smile > 3) {
console.log('算了,你開心就好-_-\'');
saveMoney = tempMoney;
break;
}
else {
console.log('你有多少錢你心里沒點那啥嗎?');
saveMoney = tempMoney;
console.log('你的余額為:' + tempMoney + '元');
break;
}
}
}
}
case '3': {
console.log('您的余額為' + saveMoney + '元');
break;
}
case '4': {
while (true) {
console.log('請輸入修改的密碼:')
let changepsw = readline.question();
console.log('請確認修改的密碼:')
let truepsw = readline.question();
if (changepsw == truepsw) {
for (let i = 0; i < users.length; i++) {
if (users[i][0] == userName) {
users[i][1] = changepsw;
console.log('修改密碼成功,請重新登錄');
changepsdOk = true;
}
}
}
else {
console.log('兩次密碼輸入不一致,請重新輸入');
changepsdOk = false;
readline.question();
}
if (changepsdOk) { //判斷密碼修改是否成功,成功則終止當前while循環
break;
}
}
}
case '5': {
isOk = false;
break;
}
default: {
console.log('輸入錯誤,請輸入1-5之間的數');
}
if (changepsdOk == true) { //判斷密碼修改是否成功,成功則終止當前while循環,重新登錄
break;
}
}
readline.question();
if (!isOk) { //判斷是否選擇4.退出
break;
}
}
}