JS基础——ATM机终端程序编写<1.0>
初步学习了JS基础,为了更好地将所学知识熟练运用,我进行了银行ATM存取款机的模拟程序编写,主要通过VScode终端实现系列操作。
我的ATM程序包括6个主要功能:1、查询余额 2、存钱 3、 取钱 4、转账 5、切换账户 6、修改密码 0、退出(附加功能)。因我的学习过程是从简单数据类型到引用数据类型,所以我写了由简到繁的多个ATM版本,接下来来就详细说说在基础版中我对每个功能的编写思路与是实现方法.
- 创建模拟账户
基础版我只使用简单数据类型进行账户创建,用变量名建立了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个变量:用户名、密码、余额,两个账户之间用不同的变量名分别
- 登录
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}次输入机会`);
}
- 选择要进行的操作
使用switch循环,获取用户输入,进入对应的程序
switch (choice_1) {
case 0:
case 1:
case 2:
case 3:
case 4:
default:
console.log(`您操作有误,请重新选择`);
state = false;
// state1=false;
break;
}
default为除以上选项外的操作,在此处是用户操作错误,没有输入正确的选项数字,因此系统会让用户重新选择。
- 0、退出
退出整个程序,结束所有循环,我的方法是在循环外let一个状态值
case 0:
console.log(`Thankyou For Your Welcome!`);
state1 = false;
state = false;
break;
- 1、查询余额
case 1:
console.log(`您查询的账户余额为${balance_1}`);
break;
输出时使用字符串模板,方便语句中变量的输出
- 2、存钱
case 2:
console.log(`请输入您要存入的金额`);
let saveMoney_1 = rs.question() - 0;
balance_1 += saveMoney_1;
console.log(`您${inputName}的账户余额为${balance_1}`);
break;
- 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;
若为多账户,还需要判断余额是否与账户匹配,这里我只写了一个账户,只需再增加一个判断即可
- 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(`账户不存在`)
}
以上就是我初学简单数据类型后能够实现效果的代码。