当前位置:首页 > JavaScript

js实现atm

2026-04-05 14:19:08JavaScript

js实现atm

js实现atm

JavaScript实现ATM机功能

以下是一个简单的JavaScript实现ATM机功能的代码示例,包含基本的存款、取款、查询余额和退出功能。

初始化变量

let balance = 1000; // 初始余额
const pin = '1234'; // 预设PIN码
let attempts = 3; // 密码尝试次数

验证PIN码

function verifyPin(inputPin) {
    if (inputPin === pin) {
        return true;
    } else {
        attempts--;
        return false;
    }
}

存款功能

function deposit(amount) {
    if (amount > 0) {
        balance += amount;
        return `存款成功,当前余额: ${balance}`;
    } else {
        return '存款金额必须大于0';
    }
}

取款功能

function withdraw(amount) {
    if (amount > balance) {
        return '余额不足';
    } else if (amount <= 0) {
        return '取款金额必须大于0';
    } else {
        balance -= amount;
        return `取款成功,当前余额: ${balance}`;
    }
}

查询余额

function checkBalance() {
    return `当前余额: ${balance}`;
}

主菜单

function atmMenu() {
    let choice;
    do {
        choice = prompt(`
            ATM菜单:
            1. 查询余额
            2. 存款
            3. 取款
            4. 退出
            请选择操作(1-4):
        `);

        switch(choice) {
            case '1':
                alert(checkBalance());
                break;
            case '2':
                const depositAmount = parseFloat(prompt('请输入存款金额:'));
                alert(deposit(depositAmount));
                break;
            case '3':
                const withdrawAmount = parseFloat(prompt('请输入取款金额:'));
                alert(withdraw(withdrawAmount));
                break;
            case '4':
                alert('感谢使用,再见!');
                break;
            default:
                alert('无效选择,请重新输入');
        }
    } while (choice !== '4');
}

启动ATM

function startATM() {
    let inputPin;
    while (attempts > 0) {
        inputPin = prompt('请输入您的PIN码:');
        if (verifyPin(inputPin)) {
            atmMenu();
            break;
        } else {
            alert(`PIN码错误,剩余尝试次数: ${attempts}`);
        }
    }
    if (attempts === 0) {
        alert('尝试次数过多,卡已被锁定');
    }
}

// 启动ATM
startATM();

功能扩展建议

  • 添加交易记录功能,记录每笔交易的时间和金额
  • 实现转账功能,允许向其他账户转账
  • 添加修改PIN码的功能
  • 实现账户锁定和解锁机制
  • 添加图形用户界面(GUI)而非使用prompt/alert

这个简单的ATM实现可以在浏览器控制台中运行,或者嵌入到HTML页面中使用。根据需求可以进一步扩展功能和完善用户体验。

标签: jsatm
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…