当前位置:首页 > 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实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

利用js实现

利用js实现

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

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…

js实现的游戏

js实现的游戏

JavaScript 游戏开发基础 JavaScript 是开发网页游戏的流行选择,因其无需插件即可在浏览器中运行。以下是一些关键技术和资源: HTML5 Canvas Canvas 提供了绘制图形…