JavaScript模拟ATM业务

const readline = require("readline-sync");
let time = 0; //输密码次数
let x = 1; //临时变量
console.log("请输入您的密码");
let password = readline.question() - 0;
while (password != 123456) {
    console.log("您输入的密码有误,请重新输入");
    password = readline.question() - 0;
    time++;
    if (time == 2) {
        console.log("密码三次错误,卡已被锁定");
        break;
    }
}
//以上为确认密码正确
if(password == 123456){
    let balance = 2000; //默认卡内余额为两千
    while (x == 1) {
        console.log("请选择业务");
        console.log("1.存款");
        console.log("2.取款");
        console.log("3.查看");
        console.log("4.退出");
        let check = readline.question() - 0;
        while (isNaN(check) || check < 1 || check > 4) {
            console.log("请重输");
            check = readline.question() - 0;
        }
        if (check == 4) {
            console.log("感谢使用,再见");
            break;
        }
        if (check == 3) {
            console.log(`银行卡余额为${balance}元`);
            console.log("退出请按1,返回主菜单请按2");
            let get = readline.question() - 0;
            while (isNaN(get) || get < 1 || get > 2) {
                console.log("请重输");
                get = readline.question() - 0;
            }
            if (get == 1) {
                console.log("感谢使用,再见");
                x++;
            }
        }
        while (check == 2) {
            if (balance == 0) {
                console.log("请注意,卡里没有钱啦");
                console.log("退出请按1,返回主菜单请按2");
                let choice2 = readline.question()-0;
                while (isNaN(choice2) || choice2 < 1 || choice2 > 2) {
                    console.log("请重输");
                    choice2 = readline.question() - 0;
                }
                if (choice2 == 1) {
                    console.log("感谢使用,再见");
                    x++;
                    break;
                }else{
                    break;
                }
            }
            console.log("请输入取款金额:");
            let drawmoney = readline.question()-0;
            while (isNaN(drawmoney) || drawmoney < 0 || drawmoney > 20000) {
                console.log("单笔取款不得超过两万,请输入正确的数字");
                drawmoney = readline.question() - 0;
            }
            let h =balance;//临时变量
            while (drawmoney > h) {
                console.log("取款金额超过余额,请重新输入");
                drawmoney = readline.question()-0;
            }
            balance -= drawmoney;
            console.log(`取款金额为${drawmoney}元,卡内剩余${balance}元`);
            console.log("退出请按1,继续取款请按2,返回主菜单请按3");
            let choice1 = readline.question() - 0;
            while (isNaN(choice1) || choice1 < 1 || choice1 > 3) {
                console.log("请重输");
                choice1 = readline.question() - 0;
            }
            if (choice1 == 1) {
                console.log("感谢使用,再见");
                x++;
                break;
            }else if(choice1 == 2){
                check == 2;
            }else{
                break;
            }
        }
        while (check == 1) {
            console.log("请输入存入金额:");
            let savemoney = readline.question()-0;
            while (isNaN(savemoney) || savemoney < 0 || savemoney > 50000) {
                console.log("单笔存款不得超过五万,请输入正确的数字");
                savemoney = readline.question() - 0;
            }
            balance += savemoney;
            console.log(`存入金额为${savemoney}元,卡内剩余${balance}元`);
            console.log("退出请按1,继续存款请按2,返回主菜单请按3");
            let choice = readline.question() - 0;
            while (isNaN(choice) || choice < 1 || choice > 3) {
                console.log("请重输");
                choice = readline.question() - 0;
            }
            if (choice == 1) {
                console.log("感谢使用,再见");
                x++;
                break;
            }else if(choice == 2){
                check == 1;
            }else{
                break;
            }
        }
    }
}

原文地址:https://www.cnblogs.com/cj-18/p/9063738.html

时间: 2024-11-14 13:48:58

JavaScript模拟ATM业务的相关文章

文件及输入输出流模拟ATM机

题目:两部分要求都要实现. 一.ATM机的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,操作日期(Date),操作类型,账户密码(六位的数字,可以用0开头),当前的余额(可以为0). 模拟ATM的功能设计,用户插卡后显示选择语言界面,输入密码界面,用户输入正确密码(用户输入错误密码,则提示该卡已被锁定,无法操作),则弹出选择界面:存款.取款.转账汇款.修改密码.查询余额. 选择"取款",则显示100元.500元.1000元.1500元.2000元

直播开始:&#39;云榨汁机&#39;诞生记--聊聊JavaScript中的&#39;业务建模&#39;

闭包是JavaScript中的一个重要特性,在之前的博文中,我们说闭包是一个'看似简单,其实很有内涵'的特性.当我们用JavaScript来实现相对复杂的业务建模时,我们可以如何利用'闭包'这个特性呢?JavaScript中的'原型继承',又可以解决业务建模中的哪些问题呢?今天我们就通过一家'榨汁机工厂'生产设计'榨汁机'的故事,来聊一聊'闭包'和'原型继承'在业务建模中的作用.现在直播开始: 1> 工厂默认选用A型刀头方案制造榨汁机 例子当中我们主要涉及到2个函数:1.榨汁机的生产工厂(Jui

语言模拟ATM自动取款机系统

C语言实验报告       题目名称:C语言模拟ATM自动取款机系统 C语言模拟实现ATM自动取款机功能:输入密码,余额查询,取款,存款,转账,修改密码,退出功能: 代码实现的功能: 账号及密码输入:用户输入密码,才能进入. 登陆成功界面:共有六个选项,查询余额.取款.存款.转账,修改密码,退出分别对应1,2,3,4,5,6选项,若序号输入不正确会予以提示. 选定1后,进入查询余额界面: 选定2后,进入取款界面: 选定3后,进入存款界面: 选定4后,修改密码,选定5,进入转账:选定6,退出界面:

1.30 Java周末总结①控制显示多少位小数位②读txt和写txt模拟ATM数据库

1.30 Java周末总结①控制显示多少位小数位②读txt和写txt模拟ATM数据库 一.控制显示多少位小数位 有些时候小数位数太多了,想保留多少位小数,这里介绍一种利用四舍五入保留想要的小数位数Math.round四舍五入到整数位,所以把小数乘以整10或整百,在除以整10或整百,就得到想要的位数了 double a = 3.14159265359;double weishu = 5;double b = Math.pow(10,weishu);a = Math.round(a*b)/b; 二.

javascript模拟post提交隐藏地址栏的参数

想要隐藏地址栏的参数,就只能用javascript模拟post提交,下面是示例代码,需要的朋友可以看看 通过js模拟post提交 1:请求需要的参数过长,超过get允许的最大长度 2:想要隐藏地址栏的参数 view source print? 01 //新创建一个form表单 02 document.write('<form name=myForm></form>');  03 var myForm=document.forms['myForm'];  04 myForm.acti

javascript模拟Windows系统下的扫雷游戏

javascript模拟Windows系统下的扫雷游戏. 说好的一周一篇随笔的,这才第三周就延迟交作业了,深深的自责中... 先玩一把 demo 很久以前写的 当时都没写注释的 刚加上了 (尼玛,好多自己都不认识了 ... ) 不足的敌方就是本来想写个游戏排名的统计的,等有空了再加上(好像每次都这么说 然后就等好久好久...) 还有就是没有实现:点击第一个格子不能是雷的功能 刚才在手机端 打开了下这篇文章 排版完全乱了... <style> ul{padding:0;list-style:no

模拟ATM机银行系统

淄博汉企Java基础考核项目 模拟银行自助终端系统 一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处理机制进行处理. 2. 评分将以功能实现与代码规范性相结合的方式进行考核. 3. 如果对项目需求有疑问,可以随时以QQ留言方式联系我进行咨询. 4. 国庆放假期间,每天都有老师在公司值班,10月4日是我在公司值班,10月7日正常上班,欢迎大家到公司来做项目. 二. 项目功能要求: 项目开始运行显示主

模拟ATM机功能(C语言)

/* fuction:模拟ATM机存取功能 date:2014/8/20 by:zhouhaiou*/ #include <stdio.h>#include <string.h>#include <math.h>int money=100000; void query();void transf(); void welcome()//欢迎界面 { printf("\t\t*********************************************

JavaScript 模拟重载

/** * 参数个数对应 各自处理的函数 不指定 则执行 默认函数 * [ * d : function ( ) {} * , 0 : function ( ) {} * , 1 : function ( a ) {} * , 2 : function ( a, b ) {} * , 3 : function ( a, b , c ) {} * , 4 : function ( a, b , c, d ) {} * ] */ ! function () { var _reload = ( fun