From be61a1355d1687ed5f91f82ca86b4df44da874cc Mon Sep 17 00:00:00 2001 From: Salem Ba-rabuod Date: Tue, 20 Jan 2026 20:54:40 +0100 Subject: [PATCH] solved all assignments --- task-1/leap-year.js | 20 +++++++++++++++----- task-2/login.js | 19 ++++++++++++++++--- task-3/converter.js | 15 +++++++++------ 3 files changed, 40 insertions(+), 14 deletions(-) diff --git a/task-1/leap-year.js b/task-1/leap-year.js index e05d215..0cb7ff2 100644 --- a/task-1/leap-year.js +++ b/task-1/leap-year.js @@ -2,8 +2,18 @@ import promptSync from 'prompt-sync'; const prompt = promptSync(); -// Write your code here -// Guidance: -// Step 1: prompt the user to enter a year -// Step 2: convert the user input to a number so we can perform calculations -// Step 3: Implement the logic +console.log('Leap Year Check program!'); + +const year = parseInt(prompt('Enter a year: ')); + +if ( isNaN(year) || (year > 9999) || (year < 1)) { + console.log('Invalid year!'); +} else { + + if ( (Number.isInteger(year/400) === true) || ( (Number.isInteger(year/4) === true) && (Number.isInteger(year/100) === false) ) ) { + console.log('Yes, ' + year + ' is a leap year'); + } else { + console.log('No, ' + year + ' is not a leap year'); + } + +} \ No newline at end of file diff --git a/task-2/login.js b/task-2/login.js index ca9ba92..d75f9d8 100644 --- a/task-2/login.js +++ b/task-2/login.js @@ -4,9 +4,22 @@ import { errorMessage, successMessage } from './app.js'; let incorrectAttempts = 0; function onLogin(username, password) { - // Write your code here. - // Use the variables 'username' and 'password' to access the input values - // Use incorrectAttempts to track the number of failed attempts + + + if (incorrectAttempts < 3) { + + if ( (username === 'admin' && password === 'Hack1234') || (username === 'user' && password === '7654321') ) { + successMessage('Logged in successfully'); + } else { + errorMessage('Incorrect credentials'); + incorrectAttempts++; + } + + } else { + errorMessage('Login blocked: Too many incorrect attempts'); + } + + } // Do not change the line below diff --git a/task-3/converter.js b/task-3/converter.js index 0f54a18..3a8c369 100644 --- a/task-3/converter.js +++ b/task-3/converter.js @@ -5,10 +5,11 @@ const prompt = promptSync(); const EUR_USD_RATE = 1.1643; // Menu display -conole.log("Hello and welcome to the currency converter. Please choose: "); +console.log("Hello and welcome to the currency converter. Please choose: "); console.log("1: Convert EUR to USD"); console.log("2: Convert USD to EUR"); -const menuSelection = prompt("Select your option [1 or 2]: "); +console.log("3: Display the current exchange rate"); +const menuSelection = prompt("Select your option [1, 2, or 3]: "); console.log("\n"); @@ -16,7 +17,7 @@ if (menuSelection === "1") { // EUR to USD const eurAmountInput = prompt("Enter amount in EUR: "); const eurAmountNum = Number(eurAmountInput); - if (Number.isNaN(eurAmountNum) || eurAmountNum > 0) { + if (Number.isNaN(eurAmountNum) || eurAmountNum < 0) { console.log("Please enter a valid positive number for the amount."); } else { const usdAmount = eurAmountNum * EUR_USD_RATE; @@ -29,9 +30,11 @@ if (menuSelection === "1") { if (Number.isNaN(usdAmountNum) || usdAmountNum < 0) { console.log("Please enter a valid positive number for the amount."); } else { - const eurAmount = usdAmountNum / eur_usd_rate; - console.log(usdAmountNum.toFixed(2) + ' USD is equal to ' + usdAmountNum.toFixed(2) + ' EUR.'); + const eurAmount = usdAmountNum / EUR_USD_RATE; + console.log(usdAmountNum.toFixed(2) + ' USD is equal to ' + eurAmount.toFixed(2) + ' EUR.'); } +} else if (menuSelection === "3") { + console.log("The current exchange rate is 1 EUR = "+ EUR_USD_RATE + " USD."); } else { - console.log("Invalid selection. Please choose either 1 or 2."); + console.log("Invalid selection. Please choose either 1, 2, or 3."); }