初步学习了JS基础,为了更好地将所学知识熟练运用,我进行了银行ATM存取款机的模拟程序编写,主要通过VScode终端实现系列操作。

我的ATM程序包括6个主要功能:1、查询余额 2、存钱 3、 取钱 4、转账 5、切换账户 6、修改密码 0、退出(附加功能)。因我的学习过程是从简单数据类型到引用数据类型,所以我写了由简到繁的多个ATM版本,接下来来就详细说说在基础版中我对每个功能的编写思路与是实现方法.

  1. 创建模拟账户

基础版我只使用简单数据类型进行账户创建,用变量名建立了2个账户:

let
username_1
=
"dahuang";

let
password_1
=
4546;

let
balance_1
=
50;

 

let
username_2
=
"cuihua";

let
password_2
=
2528;

let
balance_2
=
80;

 

每一个账户都有3个变量:用户名、密码、余额,两个账户之间用不同的变量名分别

  1. 登录

console.log(`**********************

请输入您的用户名

*********************`);

let
inputName
=
rs.question();

 

console.log(`**********************

请输入您的密码

*********************`);

let
inputPWD
=
rs.question() -
0;

要点在于判断输入的内容是否与创建的用户名、密码匹配,难点在于username_1要与password_1匹配,username_2要与password_2匹配。

if (inputName
==
username_1
&&
inputPWD
==
password_1
||
inputName
==
username_2
&&
inputPWD
==
password_2

再增加一项限制,只有3次机会,若机会用完则账户冻结,退出程序,将整个代码放入while循环。

while (n
>
0
&&
state1)

在输入错误后,减少机会

else
{

n--;

console.log(`你还有${n}次输入机会`);

}

  1. 选择要进行的操作

使用switch循环,获取用户输入,进入对应的程序

switch (choice_1) {

case
0:

 

case
1:

 

case
2:

 

case
3:

 

case
4:

 

default:

console.log(`您操作有误,请重新选择`);

state
=
false;

// state1=false;

break;

}

default为除以上选项外的操作,在此处是用户操作错误,没有输入正确的选项数字,因此系统会让用户重新选择。

  1. 0、退出

退出整个程序,结束所有循环,我的方法是在循环外let一个状态值

case
0:

console.log(`Thankyou For Your Welcome!`);

state1
=
false;

state
=
false;

break;

  1. 1、查询余额

case
1:

console.log(`您查询的账户余额为${balance_1}`);

break;

输出时使用字符串模板,方便语句中变量的输出

  1. 2、存钱

case
2:

console.log(`请输入您要存入的金额`);

let
saveMoney_1
=
rs.question() -
0;

balance_1
+=
saveMoney_1;

console.log(`您${inputName}的账户余额为${balance_1}`);

break;

  1. 3、取钱

要点是要判断取出的金额是否小于余额

case
3:

console.log(`请输入您要取出的金额`);

let
dropMoney_1
=
rs.question() -
0;

if (dropMoney_1
<=
balance_1) {

balance_1
-=
dropMoney_1;

console.log(`您${inputName}的账户余额为${balance_1}`);

}
else
{

console.log(`余额不足`);

}

break;


若为多账户,还需要判断余额是否与账户匹配,这里我只写了一个账户,只需再增加一个判断即可

  1. 4、转账

首先判断要转账的账户是否存在,其次判断转账的金额是否小于余额

case
4:

console.log(`请输入您要转账的账户`)

let
transferName_1
=
rs.question();

if (transferName_1
==
username_2) {

console.log(`请输入转账金额`)

let
transferMoney_1
=
rs.question() -
0;

if (transferMoney_1
<=
balance_1) {

balance_1
-=
transferMoney_1;

balance_2
+=
transferMoney_1;

console.log(`当前${inputName}的余额为${balance_1}`)

console.log(`${transferName_1}的余额为${balance_2}`)

}
else
{

console.log(`余额不足`);

}

}
else
{

console.log(`账户不存在`)

}

 

 

以上就是我初学简单数据类型后能够实现效果的代码。

 

 

最新文章

  1. js预解析及特效
  2. jquery动态改变my97日期格式
  3. 【Spring】初始化Spring IoC容器(非Web应用),并获取Bean
  4. 【BZOJ1006】【HNOI2008】神奇的国度
  5. ASP.NET MVC 4 WebAPI. Support Areas in HttpControllerSelector
  6. 李洪强iOS开发之OC[018]对象和方法之间的关系
  7. MongoDB备份恢复与导出导入
  8. 前端学习:html基础学习四
  9. nagios中监测dns 227.7.128.68的网络状态
  10. 环信easeui集成:坑总结2018
  11. HDU 3336 Count the string(next数组运用)
  12. 如何搭建http服务仓库
  13. English trip -- VC(情景课)10 C I like to watch TV. 我爱看电视
  14. MySQL(三)架构
  15. 小贝_redis 高级应用-事务
  16. mysql5.5的安装配置
  17. go-007-条件语句
  18. loadrunner测试TCP协议服务器性能
  19. 【set】【Splay】【pb_ds】bzoj1208 [HNOI2004]宠物收养所
  20. Mongodb更新数组$sort操作符

热门文章

  1. 2019 沈阳网络赛 Fish eating fruit
  2. div3的e题有点水呀
  3. switch多值匹配骚操作,带你涨姿势!
  4. Mysql 字段类型与约束条件
  5. 洛谷$P4503\ [CTSC2014]$企鹅$QQ$ 哈希
  6. $SP$3267 $DQUERY - D-query$ 主席树
  7. 自定义Django Admin界面
  8. highlight.js代码风格引入方法
  9. 「洛谷P3202」[HNOI2010]弹飞绵羊 解题报告
  10. 学以致用,react学习前奏准备阶段