Timkor

ATM

Mar 23rd, 2021 (edited)
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let numberOfCards = [] // це масив карток, тож cards буде норм, стоп, а далі ще один масив.. а цей не використовуєте ніде.. щось дивнне тут коїться)
  2.  
  3. for (let j = 0; j < 10; j++) {
  4.     numberOfCards[j] = j // насправді нулями проініціалізувати буде більш звично, хоча я не проти мати останню картку.)
  5. }
  6.  
  7. let moneyOnCards = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // якщо карток буде багацько, то літерально буде геть не камільфо, а от в циклі норм. Що до іменування, все ж я за cards і ось чому: масив чого - карток, у кожної є номер, і те що на них лежать гроші - то є їхня суть за ТЗ, тобто в програмі, що описує роботу банкомату з картками цей контекст випливає за замовчуванням.  
  8.  
  9. //ввод номер карточки и проверка на диапазон
  10. let inputNumberOfCard = +prompt("vvedi nomer kartochki:") /* серед слів, що з них складається назва змінної є ключлві,
  11. є пояснюючи яким чином ця змінна набула свойого значення, від других можна позбавитися, тому що важливо Що це за змінна, а як
  12. ми її отримуємо -то спосіб може навіть мінятися, може буде приходити через смс від клієнта, або обиратися рандомно - але ж
  13. номеромКартки він від цього не перестане бути . Але норм і ваше іменування .) */
  14. if (inputNumberOfCard >= 10 || inputNumberOfCard < 0 || !inputNumberOfCard) { /* що до !inputNumberOfCard не впевнений що потрібно, на вашому сумлінні. Наче прапор у задачі про міста, (там саме так можна було в умову додати && !isKnown), але там мова йшла про ефективінсть,  щоб надалі не шукати коли вже знайшли, а тут дві перших умови хіба не застрахують від вводу пустого поля? Я не перевіряв, але вважаю що застрахують (перевіри - ні, від пустого не страхують, бо перед промптом є плюсік, який пусте поля введене до нуля приводить, а нуль інверсією до тру приводиться, але тоді і нуль не можна ввести буде, бо він теж інверсією до тру приведеться, тоді приймати без плюсіка та порівнювати з пустим рядком, а по натисканню cancel буде повертатися null, то ж і на нулл перевіряти треба, або не заморачуватися, бо в ТЗ немає про нечисловий ввод, але на майбутнє - пригодиться досвід. Тут можна рахувати не введене значення за нуль, я вважаю.
  15. while (!(inputNumberOfCard) || isNaN(parseInt(inputNumberOfCard,10)) ||
  16.     +inputNumberOfCard >= 10 || +inputNumberOfCard < 0) { // якщо плюсікі убрати перед промпт, та мені ця умова не подобається.
  17.  */
  18.     alert("vvedite nomer cartu ot 0 do 9")
  19.     inputNumberOfCard = +prompt("vvedi nomer kartochki:")
  20. }
  21. /* тобто валідація є, але валідація одноразова, ну ні, поміркуйте, на що можна замінити іф (буквально), щоб блок валідації
  22. * не пропустив далі виконання коду з невалідними даними?  */
  23.  
  24.  
  25. //ввод суммы и проверка на диапазон
  26. let qtyOfNumbers = +prompt("skolko polozhit?") // платіж, кількістьГрошей, але кількість Чисел не зрозуміло мені, а ще qty - я б не скорочував тут.
  27. while (qtyOfNumbers < -1000 || qtyOfNumbers > 1000 || !qtyOfNumbers) { // о, вже поміркували, ну добре, а чого ж там іф?)
  28.     alert("vvedite summu ot -1000 do 1000")
  29.     qtyOfNumbers = +prompt("skolko polozhit?")
  30. }
  31. //выводим массив с суммами на картах
  32. for (let i = 0; i < moneyOnCards.length; i++) {
  33.     console.put(moneyOnCards[i] + " "); // тут будуть нулі, бо гроші кладемо нижче, хм.
  34. }
  35. console.log("\n")
  36. moneyOnCards[inputNumberOfCard] = qtyOfNumbers // кладем на ту карточку, номер которой ввели сумму, которую ввели
  37.  
  38.  
  39. let sum = 0
  40. for (let i = 0; i < moneyOnCards.length; i++) {
  41.     sum += moneyOnCards[i]
  42. }
  43. console.log("v summe na vseh kartah " + sum)
  44.  
  45. /* Схоже, що код став жертвою рефакторинга з копіпастою, дозволю собі нагадати - дуже корисно вміти кодити з чистого екрану,
  46. все решта - то не зовсім програмування, десь близько, але не надасть вам можливості саме творити свої штуки.  */
  47. /* Гарного коду! */
  48.  
Add Comment
Please, Sign In to add comment