IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript 逻辑实训题(ATM逻辑处理) -> 正文阅读

[JavaScript知识库]JavaScript 逻辑实训题(ATM逻辑处理)

@[TOC](JavaScript 逻辑实训题(ATM逻辑处理))

逻辑思维脑图

    // 模拟数据:用户
    var users = [
      {
        card: '1001',
        pass: '1001',
        money: 100
      }, {
        card: '1002',
        pass: '1002',
        money: 1000
      }, {
        card: '1003',
        pass: '1003',
        money: 500
      }
    ];
    var isLogin = false; // 用于判断是否已经登陆,默认没有登录
    var id = null;//用于表示登录后是哪一个
    var m;//算是一个载体 把需要操作的钱放在了里面

    //登录次数
    //n 判断登录失败的次数
    function loginCount(n) {
      n = n || 3//参数认值 不给n 默认3次机会 
      var errCount = 0;
      for (var i = 0; i < n; i++) {
        login()
        if (isLogin) {
          break;
        } else {
          errCount++;
          alert('你还剩余' + (n - errCount) + '次机会')
        }
      }
    }

    //登录
    function login() {
      var card = prompt('请输入账号');
      var pwd = prompt('qingshurumima');
      for (i = 0; i < users.length; i++) {
        if (users[i].card === card && users[i].pass === pwd) {
          isLogin = true;
          id = i;
          menu();
          return;
        }
      }
      alert('账号密码错误');
      isLogin = false;
    }

    //主界面
    function menu() {
      var a = prompt('请选择您的操作:\n 1-查询余额\n 2-存钱\n 3-取款\n 4-车专账\n 5-退出')
      switch (a) {
        case '1':
          return cha();
        case '2':
          return cun();
        case '3':
          return qu();
        case '4':
          return zhuan();
        case '5':
          return quit();
        default:
          alert('1~5')
          menu();
      }
    }

    //查询余额
    function cha() {
      alert(users[id].money)
      menu();
    }
    //存入金额
    function cun() {
      var card = parseInt(prompt('请输入要存的金额'));
      users[id].money += card;
      alert('存钱成功');
      return menu();
    }
    //取钱
    function qu() {
      isMore();
      users[id].money -= m;
      alert('取钱成功');
      return menu();
    }

    //判断金额
    function isMore() {
      m = parseInt(prompt('请输入金额'));
      if (m > users[id].money) {
        alert('超额了');
        isMore();
      }
      return
    }

    //转账
    function zhuan() {
      var card = prompt('请输入要转账的账号');
      for (var i = 0; i < users.length; i++) {
        if (card === users[i].card && card !== users[id].card) {
          isMore();
          users[id].money -= m;
          users[i].money += m;
          alert('转账成功');
          return menu();

        }
      }
      alert('请输入正确的账号');
      zhuan();
    }
    
    //退出
    function quit() {
      isLogin = false;
      id = null;
      loginCount();
    }
    login();

个人测试暂无发现BUG 欢迎指正
水仙花数
重点运用-函数

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:11:00  更:2021-09-13 09:12:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:32:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码