ATM机 原生js

//面向对象 版本  ATM机
// 分析一共两个对象 ATM对象和用户
// 清屏函数
let clear = () => process.stdout.write(process.platform === 'win32' ? '\x1Bc' : '\x1B[2J\x1B[3J\x1B[H');
//用户的构造函数
let User = function(userName,totalMoney){
    this.userName = userName;
    this.totalMoney = totalMoney;
}
//ATM 机构造函数
let ATM = function(){}
//ATM机 查询功能
ATM.prototype.checkMoney = function(user){
    console.log("当前卡上的余额为:",user.totalMoney);
    console.log("按回车键返回");
}
//ATM机 存钱功能
ATM.prototype.saveMoney = function(money,user){
    user.totalMoney += money;
    console.log("钱已经存入,当前卡上的余额为:",user.totalMoney);
    console.log("按回车键返回");
}
//ATM机 取钱功能
ATM.prototype.outputMoney = function(money,user){
    if(money > user.totalMoney)
    {
        console.log("卡上余额不足");
        console.log("按回车键返回");
    }
    else{
        user.totalMoney -= money;
        console.log("钱已经取出,当前卡上的余额为:",user.totalMoney);
        console.log("按回车键返回");
    }
}
//-----------------------------------------------------------------
let main = function(){
    let user = new User("老梁",100000);//实例化用户对象
    let atm = new ATM();//实例化ATM机
    let doWork = true;
    while(doWork)
    {
        clear();
        console.log("欢迎你,",user.userName);
        console.log("请选择您要执行的功能: 1.查询   2.存钱  3.取钱  4.退出");
        let choose = parseInt(readline.question(""));
        switch(choose)
        {
            case 1:
            {
                clear();
                atm.checkMoney(user);
                readline.question("");
                break;
            }
            case 2:
            {
                clear();
                console.log("请输入您要存的金额:");
                let money = parseInt(readline.question(""));
                atm.saveMoney(money,user);
                readline.question("");
                break;
            }
            case 3:
            {
                clear();
                console.log("请输入您要取的金额:");
                let money = parseInt(readline.question(""));
                atm.outputMoney(money,user);
                readline.question("");
                break;
            }
            case 4:
            {
                clear();
                console.log("感谢您的使用,再见!");
                doWork = false;
                readline.question("");
                clear();
                break;
            }
        }
    }
}
let readline = require("readline-sync");
main();

 

转载于:https://www.cnblogs.com/13330893721zhy/p/11488250.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值