Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let numberOfCards = [] // це масив карток, тож cards буде норм, стоп, а далі ще один масив.. а цей не використовуєте ніде.. щось дивнне тут коїться)
- for (let j = 0; j < 10; j++) {
- numberOfCards[j] = j // насправді нулями проініціалізувати буде більш звично, хоча я не проти мати останню картку.)
- }
- let moneyOnCards = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // якщо карток буде багацько, то літерально буде геть не камільфо, а от в циклі норм. Що до іменування, все ж я за cards і ось чому: масив чого - карток, у кожної є номер, і те що на них лежать гроші - то є їхня суть за ТЗ, тобто в програмі, що описує роботу банкомату з картками цей контекст випливає за замовчуванням.
- //ввод номер карточки и проверка на диапазон
- let inputNumberOfCard = +prompt("vvedi nomer kartochki:") /* серед слів, що з них складається назва змінної є ключлві,
- є пояснюючи яким чином ця змінна набула свойого значення, від других можна позбавитися, тому що важливо Що це за змінна, а як
- ми її отримуємо -то спосіб може навіть мінятися, може буде приходити через смс від клієнта, або обиратися рандомно - але ж
- номеромКартки він від цього не перестане бути . Але норм і ваше іменування .) */
- if (inputNumberOfCard >= 10 || inputNumberOfCard < 0 || !inputNumberOfCard) { /* що до !inputNumberOfCard не впевнений що потрібно, на вашому сумлінні. Наче прапор у задачі про міста, (там саме так можна було в умову додати && !isKnown), але там мова йшла про ефективінсть, щоб надалі не шукати коли вже знайшли, а тут дві перших умови хіба не застрахують від вводу пустого поля? Я не перевіряв, але вважаю що застрахують (перевіри - ні, від пустого не страхують, бо перед промптом є плюсік, який пусте поля введене до нуля приводить, а нуль інверсією до тру приводиться, але тоді і нуль не можна ввести буде, бо він теж інверсією до тру приведеться, тоді приймати без плюсіка та порівнювати з пустим рядком, а по натисканню cancel буде повертатися null, то ж і на нулл перевіряти треба, або не заморачуватися, бо в ТЗ немає про нечисловий ввод, але на майбутнє - пригодиться досвід. Тут можна рахувати не введене значення за нуль, я вважаю.
- while (!(inputNumberOfCard) || isNaN(parseInt(inputNumberOfCard,10)) ||
- +inputNumberOfCard >= 10 || +inputNumberOfCard < 0) { // якщо плюсікі убрати перед промпт, та мені ця умова не подобається.
- */
- alert("vvedite nomer cartu ot 0 do 9")
- inputNumberOfCard = +prompt("vvedi nomer kartochki:")
- }
- /* тобто валідація є, але валідація одноразова, ну ні, поміркуйте, на що можна замінити іф (буквально), щоб блок валідації
- * не пропустив далі виконання коду з невалідними даними? */
- //ввод суммы и проверка на диапазон
- let qtyOfNumbers = +prompt("skolko polozhit?") // платіж, кількістьГрошей, але кількість Чисел не зрозуміло мені, а ще qty - я б не скорочував тут.
- while (qtyOfNumbers < -1000 || qtyOfNumbers > 1000 || !qtyOfNumbers) { // о, вже поміркували, ну добре, а чого ж там іф?)
- alert("vvedite summu ot -1000 do 1000")
- qtyOfNumbers = +prompt("skolko polozhit?")
- }
- //выводим массив с суммами на картах
- for (let i = 0; i < moneyOnCards.length; i++) {
- console.put(moneyOnCards[i] + " "); // тут будуть нулі, бо гроші кладемо нижче, хм.
- }
- console.log("\n")
- moneyOnCards[inputNumberOfCard] = qtyOfNumbers // кладем на ту карточку, номер которой ввели сумму, которую ввели
- let sum = 0
- for (let i = 0; i < moneyOnCards.length; i++) {
- sum += moneyOnCards[i]
- }
- console.log("v summe na vseh kartah " + sum)
- /* Схоже, що код став жертвою рефакторинга з копіпастою, дозволю собі нагадати - дуже корисно вміти кодити з чистого екрану,
- все решта - то не зовсім програмування, десь близько, але не надасть вам можливості саме творити свої штуки. */
- /* Гарного коду! */
Add Comment
Please, Sign In to add comment