使用JavaScript实现ATM取款机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JavaScript实现ATM取款机相关的知识,希望对你有一定的参考价值。

  ATM机需求描述如下:

  假设一个简单的ATM机的取款过程为:
  首先提示用户输入密码(password),假设默认密码为111111,最多只能输入3次,
  超过3次则提示用户“密码错误,请取卡”,结束交易。
 
  如果用户密码正确,再提示用户选择金额(amount),
  “请输入0到6中任意数字选择对应钱数:0?手动输入金额,1?100元, 2?300元,
   3?500元, 4?1000元, 5?3000元, 6?5000元”。
 
  输入数字如果错误,提示“输入错误,是否继续 Y/N”,选择Y重新提示输入钱数编号,
  选择N提示“输入错误,请取卡!”。选择数字为1到6,打印对应钱数,
  并提示“是否继续 Y/N”。选择数字0,ATM机只能输出100元纸币,
  自定义钱数要求最低为100元,最高为1000元。如果用户输入的金额符合上述要求,
  则打印输出用户取的钱数,并提示“取款完成,是否继续Y/N”;否则输出一句话“金额错误,
  是否继续 Y/N”,如果用户输入Y,提示用户重新选择取款金额,如果用户输入 N,
  打印“交易取消,请取卡!”
 
  ps:取款成功后,应该提示用户是否继续,总取款金额不能超过2万

 

  1 <!DOCTYPE html>
  2 <html>
  3 
  4     <head>
  5         <meta charset="UTF-8">
  6         <title></title>
  7         <script type="text/javascript">
  8             ! function() {
  9                 //判断密码是否正确
 10                 var isPwdTrue = false;
 11                 for(var i = 1; i <= 3; i++) {
 12                     var pwd = prompt("请输入密码:");
 13                     if(pwd == 111111) {
 14                         isPwdTrue = true;
 15                         break;
 16                     } else {
 17                         alert("密码输入有误!");
 18                     }
 19                 }
 20                 if(isPwdTrue == false) {
 21                     alert("密码错误三次!请取卡!");
 22                     return;
 23                 }
 24 
 25                 // 进行取款操作
 26                 var money = 0;
 27                 var moneySum = 0;
 28                 while(true) {
 29 
 30                     console.log("请输入0到6中任意数字选择对应钱数:");
 31                     console.log("0 手动输入金额,1 100元, 2 300元,3 500元, 4 1000元, 5 3000元, 6 5000元");
 32                     var num = parseInt(prompt("请输入操作序号:"));
 33 
 34                     switch(num) {
 35                         case 1:
 36                             money = 100;
 37                             alert("取款:" + money);
 38                             break;
 39 
 40                         case 2:
 41                             money = 300;
 42                             alert("取款:" + money);
 43                             break;
 44 
 45                         case 3:
 46                             money = 500;
 47                             alert("取款:" + money);
 48                             break;
 49 
 50                         case 4:
 51                             money = 1000;
 52                             alert("取款:" + money);
 53                             break;
 54 
 55                         case 5:
 56                             money = 3000;
 57                             alert("取款:" + money);
 58                             break;
 59 
 60                         case 6:
 61                             money = 5000;
 62                             alert("取款:" + money);
 63                             break;
 64 
 65                         case 0:
 66                             mon = parseInt(prompt("请输入取款金额:"));
 67                             if(mon % 100 == 0 && mon >= 100 && mon <= 1000) {
 68                                 money = mon;
 69                                 alert("取款金额为:" + mon + "");
 70                                 break;
 71                             }
 72 
 73                         default:
 74                             alert("输入错误");
 75                             break;
 76 
 77                     }
 78 
 79                     if(money > 0) {
 80                         if(moneySum + money < 20000) {
 81                             moneySum += money;
 82                             console.log("本次取款金额为" + money + "共取款" + moneySum);
 83 
 84                         } else if(moneySum + money > 20000) {
 85                             console.log("取款失败,限取20000");
 86                             return;
 87                         } else {
 88                             moneySum += money;
 89                             console.log("本次取款金额为" + money + "共取款" + moneySum);
 90                             return;
 91                         }
 92                     }
 93 
 94                     while(true) {
 95                         var isGo = prompt("是否继续?(Y/N)");
 96                         if(isGo == "Y" || isGo == "y") {
 97                             break;
 98                         } else if(isGo == "N" || isGo == "n") {
 99                             console.log("本次取款结束,请退卡");
100                             return;
101                         } else {
102                             console.log("输入错误");
103                             continue;
104                         }
105                     }
106 
107                 }
108 
109             }();
110         </script>
111     </head>
112 
113     <body>
114     </body>
115 
116 </html>

 

















以上是关于使用JavaScript实现ATM取款机的主要内容,如果未能解决你的问题,请参考以下文章

Java+Swing实现自助取款机(ATM)系统-TXT存储数据

Java编程实现程序用于模拟ATM取款机。

Eclipse+Java+Swing+Mysql实现自助存取款机(ATM)系统

Python 基础 - Day 5 Assignment - ATM 取款机

基于JavaSwing ATM取款机系统的设计和实现

LinuxC语言实现ATM取款机实验Socket