ATM机需求描述如下:
假设一个简单的ATM机的取款过程为:
首先提示用户输入密码(password),假设默认密码为111111,最多只能输入3次,
超过3次则提示用户“密码错误,请取卡”,结束交易。
如果用户密码正确,再提示用户选择金额(amount),
“请输入0到6中任意数字选择对应钱数:0手动输入金额,1100元, 2300元,
3500元, 41000元, 53000元, 65000元”。
输入数字如果错误,提示“输入错误,是否继续 Y/N”,选择Y重新提示输入钱数编号,
选择N提示“输入错误,请取卡!”。选择数字为1到6,打印对应钱数,
并提示“是否继续 Y/N”。选择数字0,ATM机只能输出100元纸币,
自定义钱数要求最低为100元,最高为1000元。如果用户输入的金额符合上述要求,
则打印输出用户取的钱数,并提示“取款完成,是否继续Y/N”;否则输出一句话“金额错误,
是否继续 Y/N”,如果用户输入Y,提示用户重新选择取款金额,如果用户输入 N,
打印“交易取消,请取卡!”
ps:取款成功后,应该提示用户是否继续,总取款金额不能超过2万
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> ! function() { //判断密码是否正确 var isPwdTrue = false; for(var i = 1; i <= 3; i++) { var pwd = prompt("请输入密码:"); if(pwd == 111111) { isPwdTrue = true; break; } else { alert("密码输入有误!"); } } if(isPwdTrue == false) { alert("密码错误三次!请取卡!"); return; } // 进行取款操作 var money = 0; var moneySum = 0; while(true) { console.log("请输入0到6中任意数字选择对应钱数:"); console.log("0 手动输入金额,1 100元, 2 300元,3 500元, 4 1000元, 5 3000元, 6 5000元"); var num = parseInt(prompt("请输入操作序号:")); switch(num) { case 1: money = 100; alert("取款:" + money); break; case 2: money = 300; alert("取款:" + money); break; case 3: money = 500; alert("取款:" + money); break; case 4: money = 1000; alert("取款:" + money); break; case 5: money = 3000; alert("取款:" + money); break; case 6: money = 5000; alert("取款:" + money); break; case 0: mon = parseInt(prompt("请输入取款金额:")); if(mon % 100 == 0 && mon >= 100 && mon <= 1000) { money = mon; alert("取款金额为:" + mon + "元"); break; } default: alert("输入错误"); break; } if(money > 0) { if(moneySum + money < 20000) { moneySum += money; console.log("本次取款金额为" + money + "共取款" + moneySum); } else if(moneySum + money > 20000) { console.log("取款失败,限取20000"); return; } else { moneySum += money; console.log("本次取款金额为" + money + "共取款" + moneySum); return; } } while(true) { var isGo = prompt("是否继续?(Y/N)"); if(isGo == "Y" || isGo == "y") { break; } else if(isGo == "N" || isGo == "n") { console.log("本次取款结束,请退卡"); return; } else { console.log("输入错误"); continue; } } } }(); </script> </head> <body> </body> </html>