-
Notifications
You must be signed in to change notification settings - Fork 19
Atiqa N. #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Atiqa N. #27
Conversation
mnvacym
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You mostly met all the requirements, with only a few improvements needed. Well done!
I have left some comments. Let me know if anything is not clear enough.
| 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clearly named variables, very nice!
| // 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)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice that you met all the required conditions. However, one improvement would be to follow the DRY principle. In programming, there is a principle called DRY (Don't Repeat Yourself). So, for example, you could create a variable called isLeapYear and reuse it. Also, this way, the code becomes more readable for the future. Like, for example:
const isLeapYear = (year % 4 === 0) && (year % 100 !== 0 || year % 400 === 0);
if (isLeapYear) {
console.log(`Yes, ${year} is a leap year`);
} else {
console.log(`No, ${year} is not a leap year`);
}
| successMessage('Logged in successfully'); | ||
| } else { | ||
| errorMessage('Incorrect credentials'); | ||
| incorrectAttempts++; // Increase incorrect login attempt by 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At this point, you need to check if incorrectAttempts has reached 4. If it is 4, you need to show the error message.
if (incorrectAttempts === 4) {
errorMessage('Login blocked: Too many incorrect attempts');
return;
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You met all the requirements for Task 3 with only a very small improvement. Well done!
| const eurAmountInput = prompt("Enter amount in EUR: "); | ||
| const eurAmountNum = Number(eurAmountInput); | ||
| if (Number.isNaN(eurAmountNum) || eurAmountNum > 0) { | ||
| if (Number.isNaN(eurAmountNum) || eurAmountNum < 0) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on the error message, the logic should check if the inputted amount is a valid positive number:
eurAmountNum <= 0
| // USD to EUR | ||
| const usdAmountInput = prompt("Enter amount in USD: "); | ||
| const usdAmountNum = Number(usdAmountInput); | ||
| if (Number.isNaN(usdAmountNum) || usdAmountNum < 0) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on the error message, the logic should check if the inputted amount is a valid positive number:
usdAmountNum <= 0
No description provided.