用JS写的取存款功能

console.log("请输入用户名:");
let username = readline.question();   // 接收用户输入的用户名
console.log("请输入密码:");
let password = readline.question();      // 接收用户输入的密码


let arr = [["123", "123"], ["456", "456"], ["789", "789"]];   // 注册后的数据库
let a = false;  // 状态值,登录的状态
let dlsb = true;  // 登陆失败  时循环
let bj = 10000;  //定义一个本金有10000元

// 登录
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
if (arr[i][0] === username && arr[i][1] === password) {     // 判断用户名和密码是否一致
// console.log("登录成功");
a = true;
// 功能
let tccx = true; // 定义一个状态值来 退出循环
while (tccx) {
// 功能提示
let qk = "1.取款", ck = "2.存款", cx = "3.查询剩余金额", tc = "4.退出";
console.log(qk, ck, cx, tc);
let cz = readline.question();
switch (cz) {
case "1": {
console.log("请输入取款金额:");
let qkje = readline.question() - 0;
console.log(`确定取款:${qkje}元? `);
console.log("确定取款请输入 1, 取消取款请输入 2。");
let qdqk = readline.question();
if (qkje > bj) {
console.log("抱歉,你余额不足无法进行取款。");
} else {
switch (qdqk) {
case "1": {
bj -= qkje;
console.log("你已经成功取款" + qkje + "元,剩余" + bj + "元。");
break;
}
case "2": {
console.log("你取消了此操作。");
break;
}
}
}
break;
}

case "2": {
console.log("请输入存款金额:");
let qkje = readline.question() - 0;
console.log(`确定存款:${qkje}元? `);
console.log("确定存款请输入 1, 取消存款请输入 2。");
let qdqk = readline.question();
switch (qdqk) {
case "1": {
bj += qkje;
console.log("你已经成功存款" + qkje + "元,剩余" + bj + "元。");
break;
}
case "2": {
console.log("你取消了这次操作。");
break;
}
}
break;
}
case "3":
console.log("你的剩余金额为:" + bj + "元");
break;
case "4": {
console.log("感谢你的使用,欢迎你下次使用");
tccx = false;
break;
}
default:
console.log("核对后再输入相应内容");
}
}
break;
}
break;
}
break;
}
if (a == false) {
let jx = true;  // 状态值,用于下面的while循环

console.log("用户名或者密码不正确,请核对后输入。如果你再输入错误 2 次会自动冻结账户。是否继续输入?继续请输入 1 ,退出请输入 2。");
let sfjx = readline.question();  // 让用户决定是否继续
let srcs = 1; // 输入次数
switch (sfjx) {
case "1": {
while (srcs) {
console.log("请输入用户名");
username = readline.question();
console.log("请输入密码");
password = readline.question();
srcs++;

for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
if (arr[i][0] === username && arr[i][1] === password) {     // 判断用户名和密码是否一致
// console.log("登录成功");
srcs = 0;

// 功能
let tccx = true; // 定义一个状态值来 退出循环
while (tccx) {
// 功能提示
let qk = "1.取款", ck = "2.存款", cx = "3.查询剩余金额", tc = "4.退出";
console.log(qk, ck, cx, tc);
let cz = readline.question();
switch (cz) {
case "1": {
console.log("请输入取款金额:");
let qkje = readline.question() - 0;
console.log(`确定取款:${qkje}元? `);
console.log("确定取款请输入 1, 取消取款请输入 2。");
let qdqk = readline.question();
if (qkje > bj) {
console.log("抱歉,你余额不足无法进行取款。");
} else {
switch (qdqk) {
case "1": {
bj -= qkje;
console.log("你已经成功取款" + qkje + "元,剩余" + bj + "元。");
break;
}
case "2": {
console.log("你取消了此操作。");
break;
}
}
}
break;
}

case "2": {
console.log("请输入存款金额:");
let qkje = readline.question() - 0;
console.log(`确定存款:${qkje}元? `);
console.log("确定存款请输入 1, 取消存款请输入 2。");
let qdqk = readline.question();
switch (qdqk) {
case "1": {
bj += qkje;
console.log("你已经成功存款" + qkje + "元,剩余" + bj + "元。");
break;
}
case "2": {
console.log("你取消了这次操作。");
break;
}
}
break;
}
case "3":
console.log("你的剩余金额为:" + bj + "元");
break;
case "4": {
console.log("感谢你的使用,欢迎你下次使用");
tccx = false;
break;
}
default:
console.log("核对后再输入相应内容");
}
}
break;
}
break;
}
break;
}
if (srcs == 3) {
console.log("你输入的用户名或密码错误超过3次,自动冻结该账户。");
break;
}
}
}
case "2": {
jx = false;
break;
}
}
}

转载于:https://www.cnblogs.com/yehongrun/p/9060062.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

您在2016年OpenStack峰会上错过的事情

今年我第一次参加了4月25日至29日在德克萨斯州奥斯汀举行的OpenStack峰会。 今天结束了&#xff0c;我要回家了&#xff0c;我想回顾一下&#xff0c;从我的角度分享你错过的事情。 作为以应用程序开发人员为重点的技术传播者&#xff0c;转移到包含Red Hat产品组合的基础架构…

HDU1069 最长上升子序列

emm。。。。矩形嵌套 还记得吗。。。。就是它。。。 直接贴代码了。。。。 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Scanner;public class Main{final static int maxn 1000000;…

linux 中配置假域名来测试

1.linux中配置假域名 找到hosts文件进行编辑 命令&#xff1a;vim /etc/hosts 配置&#xff1a; #centos&#xff08;本机IP&#xff09;192.168.1.179 www.imooc.com&#xff08;假域名&#xff0c;自己设置&#xff09;192.168.1.179 image.imooc.com192.168.1.179 s.imooc.c…

C/C++中的常量指针与指针常量

常量指针 常量指针是指向常量的指针&#xff0c;指针指向的内存地址的内容是不可修改的。 常量指针定义“const int *p&a;”告诉编译器&#xff0c;*p是常量&#xff0c;不能将*p作为左值进行操作。但这里的指针p还是一个变量&#xff0c;它的内容存放常量的地址&#xff0…

基于javafx的五子棋_JavaFX中基于表达式的PathTransitions

基于javafx的五子棋在JavaFX中&#xff0c;您可以使用PathTransition对象为路径上的节点设置动画。 PathTransitions使用Shape对象来描述它们需要沿其动画的路径。 JavaFX提供了各种类型的形状&#xff08;例如&#xff0c;多边形&#xff0c;圆形&#xff0c;多边形&#xff0…

ES6三种暴露方法

1.多行暴露&#xff08;分行暴露&#xff09; 导出 //test.js export function test1(){console.log(测试分别导出test1); } export function test2(){console.log(测试分别导出test2); } 导入&#xff1a; //index.js import {test1, test2} from ./test.js //文件路径二&…

shell获取当前执行脚本的路径

filepath$(cd "$(dirname "$0")"; pwd)脚本文件的绝对路径存在了环境变量filepath中&#xff0c;可以用echo $filepath查看完整路径在shell中&#xff1a;$0: 获取当前脚本的名称$#: 传递给脚本的参数个数$$: shell脚本的进程号$1, $2, $3...&#xff1a;脚…

MANIFEST.MF文件详解

参考百度百科的解释如下&#xff1a; http://baike.baidu.com/item/MANIFEST.MF MANIFEST.MF&#xff1a;这个 manifest 文件定义了与扩展和包相关的数据。单词“manifest”的意思是“显示” ### MANIFEST.MF文件介绍------------------------------ 主要包含3个部分 - Manifes…

Drools 6.4.0.Final提供

最新和最出色的Drools 6.4.0.Final版本现已可供下载。 这是我们先前构建的增量版本&#xff0c;对核心引擎和Web工作台进行了一些改进。 您可以在此处找到更多详细信息&#xff0c;下载和文档&#xff1a; Drools网站 资料下载 文献资料 发行说明 请阅读下面的一些发行要…

Linux Shell中各种分号和括号的用法总结

[日期&#xff1a;2011-02-21] 来源&#xff1a;Linux社区 作者&#xff1a;破烂熊 [字体&#xff1a;大 中 小] 各种括号的用法总结如下 1.Shell中变量的原形&#xff1a;${var} 大家常见的变量形式都是$var 2.命令替换$(cmd) 命令替换$(cmd)和符号cmd(注意这不是单引号…

软考解析:2014年下半年下午试题

软考解析&#xff1a;2014年下半年下午试题 第一题&#xff1a;数据流图 第四题&#xff1a;算法题 第五题&#xff1a;Java设计模式 转载于:https://www.cnblogs.com/MrSaver/p/9073778.html

malloc()参数为0的情况

问题来自于《程序员面试宝典&#xff08;第三版&#xff09;》第12.2节问题9&#xff08;这里不评价《程序员面试宝典》&#xff0c;就题论题&#xff09;&#xff1a; 下面的代码片段输出是什么&#xff1f;为什么&#xff1f; char *ptr;if((ptr (char *)malloc(0))NULL)put…

铁乐学python_Day42_锁和队列

铁乐学python_Day42_锁和队列 例&#xff1a;多个线程抢占资源的情况 from threading import Thread import timedef work():global ntemp ntime.sleep(0.1)n temp - 1if __name__ __main__:n 100l []for i in range(100):p Thread(targetwork)l.append(p)p.start()for p…

hibernate 懒加载_Hibernate懒/急加载示例

hibernate 懒加载这篇文章将重点讨论为什么以及如何在应用程序中使用称为LAZY和EAGER加载的概念&#xff0c;以及如何使用Spring的Hibernate模板以EAGER方式加载LAZY实体。 当然&#xff0c;正如标题本身所暗示的那样&#xff0c;我们将通过一个示例来说明这一点。 场景就是这样…

C++ 关键字typeid

转载网址&#xff1a;http://www.cppblog.com/smagle/archive/2010/05/14/115286.aspx 在揭开typeid神秘面纱之前&#xff0c;我们先来了解一下RTTI&#xff08;Run-Time Type Identification&#xff0c;运行时类型识别&#xff09;&#xff0c;它使程序能够获取由基指针或引用…

使用Apache Camel进行负载平衡

在此示例中&#xff0c;我们将向您展示如何使用Apache Camel作为系统的负载平衡器。 在计算机世界中&#xff0c;负载均衡器是一种充当反向代理并在许多服务器之间分配网络或应用程序流量的设备。 负载平衡器用于增加容量&#xff08;并发用户&#xff09;和应用程序的可靠性。…

Java8-Guava实战示例

示例一&#xff1a; 跟示例三对比一下&#xff0c;尽量用示例三 List<InvoiceQueryBean> invoiceQueryBeanList new ArrayList<>(); List<String> invoices Lists.newArrayList(Iterators.transform(invoiceQueryBeanList.iterator(), new Function<Inv…

java项目构建部署包

博客分类&#xff1a; JAVA Java 工程在生产环境运行时&#xff0c;一般需要构建成一个jar&#xff0c;同时在运行时需要把依赖的jar添加到classpath中去&#xff0c;如果直接运行添加classpath很不方便&#xff0c;比较方便的是创建一个shell脚本。在公司项目中看到把工程代码…

不错的自学网站合集

一、网站类1、假期在家如何查找论文资料&#xff1f;只需登录中国图书馆http://t.cn/hYmDq&#xff08;需注册&#xff09;&#xff0c;即可免费下载各种期刊和学位论文2、全球免费开放的电子图书馆http://t.cn/h4hJUf3、给大家推荐个神网站&#xff0c;只要是外文书籍基本上都…

c++中关于字符串的读入——cin、getline、get、gtes(查询+思考+总结)

1、cin读入一个字符&#xff1a;char c;cin>>c;2、cin读入一个字符串&#xff1a;char s[10];cin >> s;&#xff08;c风格字符串&#xff09; string str;cin >> str;&#xff08;c的string&#xff09;3、cin.get()读入一个字符&#xff1a;char c;ccin.…