ATM自动存取机(javaScript实现)
ATM自动存取机
**整体思路**:根据日常生活中的ATM自动存取机设置了今天的案例。首先:用户进行注册操作(没有数据库);其次:注册成功后进行登录;最后:存款、取款、查询余额操作设置。一、 do-while循环
do… while 语句其实是 while 语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。
do-while语句的语法结构如下:
do {
// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);
执行思路:
1.先执行一次循环体。
2.在执行条件表达式,如果结果为true,则继续执行循环体代码,如果为 false,则退出循环,继续执行后面代码。
注意:先再执行循环体,再判断,do…while循环语句至少会执行一次循环体代码。
二、while循环
while 语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。
while语句的语法结构如下:
while (条件表达式) {
// 循环体代码
}
执行思路:
1.先执行条件表达式,如果结果为 true,则执行循环体代码;如果为 false,则退出循环,执行后面代码。
2.执行循环体代码。
3.循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为true,则会继续执行循环体,直到循环条件为 false 时,整个循环过程才会结束。
注意:
1.使用 while 循环时一定要注意,它必须要有退出条件,否则会成为死循环。
2.while 循环和 for 循环的不同之处在于 while 循环可以做较为复杂的条件判断,比如判断用户名和密码。
三、if语句
语句可以理解为一个行为,循环语句和分支语句就是典型的语句。一个程序由很多个语句组成,一般情况下,会分割成一个一个的语句。
语法结构如下:
// 条件成立执行代码,否则什么也不做
if (条件表达式) {
// 条件成立执行的代码语句
}
四、步骤
1.设置注册
1.先设置登录名称,经console.log(typeof logonname);输出后是string型;2.do… while 语句先执行后判断,使用户输入两次密码并进行验证。3.密码验证通过后提示“恭喜您注册成功!”
代码如下:
var logonname = prompt('请创建您的用户名:');
do {
var logonpassword1 = prompt('请设置您的密码:');
var logonpassword2 = prompt('请再次输入确认您的密码:');
if (logonpassword1 !== logonpassword2) {
alert('密码设置错误,请重新输入!');
}
}
while (logonpassword1 !== logonpassword2) alert('恭喜您注册成功!\n' + '您的用户名是:' + logonname + '请重新登录!');
2.登录
1.分别输入已注册的应户名和密码;2.while判断为“真”后跳出“登陆成功!”提示框。
代码如下:
do {
do {
var nname = prompt('请输入你的用户名:');
var password = prompt('请输入你的密码:');
} while (nname !== logonname)
} while (password !== logonpassword2) alert('登录成功!');
3.存取操作设置
1.对总钱数(sum)和取钱数(k)进行初始化。2. 利用while (true) {}无限循环进行存取累计;3. 弹出用户操作提示选项框;4.利用if语句进行操作判断,在if语句内进行数学运算。5.当用户操作完成之后选择4进行退出操作;终止程序运行。
代码如下:
// 对总钱数(sum)和取钱数(k)进行初始化。
var sum = 0;
var k = 0;
while (true) {
var i = prompt("请输入您要的操作:\n1.存钱\n2.取钱\n3.显示余额\n4.退出")
if (i == 1) {
var j = parseFloat(prompt('请您输入存钱的钱数!'))
sum = sum + j;
alert('您现在的钱数是:' + sum);
}
if (i == 2) {
k = parseFloat(prompt('请您输入取钱的钱数!'))
if (k > sum) {
alert('余额不足!');
}
else {
var q = sum - k;
alert('您现在的钱数是:' + q)
}
}
if (i == 3) {
if (sum == 0) {
alert('您还没有存款!');
}
else if (k > sum) {
alert('您现在的钱数是:' + sum);
}
else {
var p = sum - k;
alert('显示余额:' + p);
}
}
if (i == '4') {
alert('您正在退出,期待下次光临!')
break;
}
}
五、完整代码
代码如下:
<script>
var logonname = prompt('请创建您的用户名:');
do {
var logonpassword1 = prompt('请设置您的密码:');
var logonpassword2 = prompt('请再次输入确认您的密码:');
if (logonpassword1 !== logonpassword2) {
alert('密码设置错误,请重新输入!');
}
}
while (logonpassword1 !== logonpassword2) alert('恭喜您注册成功!\n' + '您的用户名是:' + logonname + '请重新登录!');
do {
do {
var nname = prompt('请输入你的用户名:');
var password = prompt('请输入你的密码:');
} while (nname !== logonname)
} while (password !== logonpassword2) alert('登录成功!');
// 对总钱数(sum)和取钱数(k)进行初始化。
var sum = 0;
var k = 0;
while (true) {
var i = prompt("请输入您要的操作:\n1.存钱\n2.取钱\n3.显示余额\n4.退出")
if (i == 1) {
var j = parseFloat(prompt('请您输入存钱的钱数!'))
sum = sum + j;
alert('您现在的钱数是:' + sum);
}
if (i == 2) {
k = parseFloat(prompt('请您输入取钱的钱数!'))
if (k > sum) {
alert('余额不足!');
}
else {
var q = sum - k;
alert('您现在的钱数是:' + q)
}
}
if (i == 3) {
if (sum == 0) {
alert('您还没有存款!');
}
else if (k > sum) {
alert('您现在的钱数是:' + sum);
}
else {
var p = sum - k;
alert('显示余额:' + p);
}
}
if (i == '4') {
alert('您正在退出,期待下次光临!')
break;
}
}
</script>