В настоящее время я делаю симулятор денежных машин JavaScript Node.js, используя библиотеку «чтения-sync» для обработки ввода/вывода терминала. Это позволяет пользователю проверять свой баланс, депозит или снимать деньги. Я использовал цикл, чтобы поддерживать запуск приложения, пока пользователь не решит выйти. Я также включил обработку ошибок для недопустимых входов, например снятие большего, чем общий баланс. Однако, когда я запускаю приложение в моем коде VS, оно не работает. Кто-нибудь может помочь мне сделать мой код 'readline-sync' Friendly, пожалуйста?const cashMachine = require('readline-sync');
let name,
correct_pass = (/^[0-9]{4}£/),
passTry = 3,
currentBalance = 20000;
// Input a username
function cashMachineName() {
name = cashMachine.question("Enter your name");
if (name !== "" && name !== null) {
cashMachinePassword();
} else {
cashMachineName();
}
}
// Input a valid password
function cashMachinePassword() {
let passwordEntry = questionInt("Hello " + name + ", please enter your 4-digit PIN");
checkPassword(passwordEntry);
}
// Verify password meets requirements
function checkPassword(userInput) {
if (correct_pass.test(userInput)){
selectAccountType();
} else {
while (!(correct_pass.test(userInput))) {
if (passTry === 1) {
console.log("Incorrect PIN");
console.log("Maximum tries exceeded! Your account has been locked. Contact your bank for support.");
exit();
break;
} else {
passTry -= 1;
alert("Incorrect PIN. Please try again.");
alert("You have " + passTry + " chance/s to try");
cashMachinePassword();
}
}
}
}
// Select which account to use
function selectAccountType() {
let accountType = questionInt("Which type of account do you have? \n 1. Savings \n 2. Current \n 3. Credit");
if (accountType !== "" && accountType !== null && !isNan(accountType)) {
switch (accountType) {
case 1:
balance();
break;
case 2:
withdrawal();
break;
case 3:
deposit();
break;
case 4:
exit();
break;
default:
cashMachine.questionInt("Please make a valid operation");
selectFunction();
}
} else {
cashMachine.questionInt("Please make a valid selection");
selectFunction();
}
}
// Balance
function balance() {
cashMachine.questionInt("Your current balance is £" + currentBalance);
toContinue();
}
// Deposit
function deposit() {
let depositAmount = questionInt("How much do you want to deposit?");
if (depositAmount !== "" && depositAmount !== null && !isNaN(depositAmount)) {
currentBalance += depositAmount;
console.log("You have successfully deposited £" + depositAmount + "\n" + "You know have £" + currentBalance);
toContinue();
} else {
console.log("Error: Please enter a number!");
deposit();
}
}
// Withdrawal
function withdrawal() {
let withdrawalAmount = questionInt("How much do you want to withdraw? \n" + "The minimum amount you can withdraw is £5");
if (withdrawalAmount !== "" && withdrawalAmount !== null && !isNaN(withdrawalAmount)) {
if (withdrawalAmount >= 5) {
if (withdrawalAmount
Подробнее здесь: https://stackoverflow.com/questions/795 ... s-terminal
Как мне заставить мой симулятор денежных машин JavaScript работать в моем терминале Node.js? [закрыто] ⇐ Javascript
Форум по Javascript
1743605517
Anonymous
В настоящее время я делаю симулятор денежных машин JavaScript Node.js, используя библиотеку «чтения-sync» для обработки ввода/вывода терминала. Это позволяет пользователю проверять свой баланс, депозит или снимать деньги. Я использовал цикл, чтобы поддерживать запуск приложения, пока пользователь не решит выйти. Я также включил обработку ошибок для недопустимых входов, например снятие большего, чем общий баланс. Однако, когда я запускаю приложение в моем коде VS, оно не работает. Кто-нибудь может помочь мне сделать мой код 'readline-sync' Friendly, пожалуйста?const cashMachine = require('readline-sync');
let name,
correct_pass = (/^[0-9]{4}£/),
passTry = 3,
currentBalance = 20000;
// Input a username
function cashMachineName() {
name = cashMachine.question("Enter your name");
if (name !== "" && name !== null) {
cashMachinePassword();
} else {
cashMachineName();
}
}
// Input a valid password
function cashMachinePassword() {
let passwordEntry = questionInt("Hello " + name + ", please enter your 4-digit PIN");
checkPassword(passwordEntry);
}
// Verify password meets requirements
function checkPassword(userInput) {
if (correct_pass.test(userInput)){
selectAccountType();
} else {
while (!(correct_pass.test(userInput))) {
if (passTry === 1) {
console.log("Incorrect PIN");
console.log("Maximum tries exceeded! Your account has been locked. Contact your bank for support.");
exit();
break;
} else {
passTry -= 1;
alert("Incorrect PIN. Please try again.");
alert("You have " + passTry + " chance/s to try");
cashMachinePassword();
}
}
}
}
// Select which account to use
function selectAccountType() {
let accountType = questionInt("Which type of account do you have? \n 1. Savings \n 2. Current \n 3. Credit");
if (accountType !== "" && accountType !== null && !isNan(accountType)) {
switch (accountType) {
case 1:
balance();
break;
case 2:
withdrawal();
break;
case 3:
deposit();
break;
case 4:
exit();
break;
default:
cashMachine.questionInt("Please make a valid operation");
selectFunction();
}
} else {
cashMachine.questionInt("Please make a valid selection");
selectFunction();
}
}
// Balance
function balance() {
cashMachine.questionInt("Your current balance is £" + currentBalance);
toContinue();
}
// Deposit
function deposit() {
let depositAmount = questionInt("How much do you want to deposit?");
if (depositAmount !== "" && depositAmount !== null && !isNaN(depositAmount)) {
currentBalance += depositAmount;
console.log("You have successfully deposited £" + depositAmount + "\n" + "You know have £" + currentBalance);
toContinue();
} else {
console.log("Error: Please enter a number!");
deposit();
}
}
// Withdrawal
function withdrawal() {
let withdrawalAmount = questionInt("How much do you want to withdraw? \n" + "The minimum amount you can withdraw is £5");
if (withdrawalAmount !== "" && withdrawalAmount !== null && !isNaN(withdrawalAmount)) {
if (withdrawalAmount >= 5) {
if (withdrawalAmount
Подробнее здесь: [url]https://stackoverflow.com/questions/79550967/how-do-i-get-my-javascript-cash-machine-simulator-to-work-in-my-node-js-terminal[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия