From e91aa32e3fa00ffa559e4000b989a61f70085400 Mon Sep 17 00:00:00 2001 From: Atiqa Naseer Date: Wed, 21 Jan 2026 22:56:31 +0100 Subject: [PATCH 1/3] Atiqa week 2 assignment task 1 --- task-1/leap-year.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/task-1/leap-year.js b/task-1/leap-year.js index e05d215..ae6ad54 100644 --- a/task-1/leap-year.js +++ b/task-1/leap-year.js @@ -1,9 +1,17 @@ import promptSync from 'prompt-sync'; const prompt = promptSync(); +const year = prompt("Enter a year: "); // prompt user to enter a year +const yearNumber = Number(year); // convert the user input to number -// 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 +// First check if the number is valid and year is from 1 to 9999 +if (!isNaN(yearNumber) && yearNumber >= 1 && yearNumber <= 9999) { + // Then check if the year is leap year or not + if (yearNumber % 4 === 0 && (yearNumber % 400 === 0 || yearNumber % 100 !== 0)) { + console.log(`Yes, ${yearNumber} is a leap year`); + } else { + console.log(`No, ${yearNumber} is not a leap year`); + } +} else { + console.log("Invalid year!"); +} From 6f6a3c3e077eddf30efa24d0f385902703ccdcaa Mon Sep 17 00:00:00 2001 From: Atiqa Naseer Date: Wed, 21 Jan 2026 23:18:03 +0100 Subject: [PATCH 2/3] Atiqa week 2 assignment task 2 --- task-2/login.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/task-2/login.js b/task-2/login.js index ca9ba92..38e2fb2 100644 --- a/task-2/login.js +++ b/task-2/login.js @@ -4,9 +4,19 @@ 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 + // Check if more than 3 incorrect attempts then show login block error message + if (incorrectAttempts > 3) { + errorMessage('Login blocked: Too many incorrect attempts'); + return; // Don't run the code further in this function + } + + // Check if any of the two username and password combination are correct then show success else show error + if ((username === 'admin' && password === 'Hack1234') || (username === 'user' && password === '7654321')) { + successMessage('Logged in successfully'); + } else { + errorMessage('Incorrect credentials'); + incorrectAttempts++; // Increase incorrect login attempt by 1 + } } // Do not change the line below From 0471dfd3dd96de953f51c7cec262bb4bf9011d11 Mon Sep 17 00:00:00 2001 From: Atiqa Naseer Date: Wed, 21 Jan 2026 23:49:52 +0100 Subject: [PATCH 3/3] Atiqa week 2 assignment task 3 --- task-3/converter.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/task-3/converter.js b/task-3/converter.js index 0f54a18..6bd36f3 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."); }