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('输入账户不存在,请重新输入')
}
}
欢迎评论区交流讨论。