Advertisement
Timkor

nsgReviewATM

Nov 1st, 2020
2,216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // i t
  2. let n = 10;
  3. let cards = [];
  4. let cardNumber  = -1;
  5. let free = -1001; // из имени не понятно для чего эта переменная предназначена
  6. while (cardNumber < 0 || cardNumber >= n) {
  7.     cardNumber = +prompt('vvedi nomer kartochki');
  8.     if (cardNumber >= 0 && cardNumber < n ) { // это же условие (инвертированное) в вайле, если приходится копипастить код - что-то не так.
  9.  // в цикл отвечающий за валидный ввод номера карты вы вложили всю прочую логику, что усложняет восприятие
  10.  // кода, желательно стремиться к простоте кода, к его понятности
  11.  // я бы убрал ифы оставив лишь вайлы на обоих вводах от пользователя,
  12.  // и не вкладывал в них ничего кроме ввода данных.
  13.  
  14.  // как я вижу эту задачу:
  15.  // 1 принять валидный номер карты, если не валидный повторить пункт 1 (не вкладывать ничего в ввайл)
  16.  // 2 принять валидную сумму вложения, если сумма не валидная повторить пункт 2 (не вкладывать ничего в ввайл)
  17.  // 3 вывести весь массив карт и сумму всех вложений.  
  18.  // 4 (желательно) повторить все с первого пункта
  19.     while (free < -1000 || free > 1000){
  20.          free = +prompt('skolko polozhit?');
  21.         if (free >= -1000 && free <= 1000){ // это же условие (инвертированное) в вайле, если приходится копипастить код - что-то не так.
  22.             cards[cardNumber] = free; // возможно стоит тоже завести промежуточную переменную, чтобы не валидные данные не попадали в массив.
  23.             console.log('v summe na vseh kartah' + ' ' +  cards[cardNumber]) // весь массив так не вывести  
  24.         }
  25.     }
  26.     }
  27. }
  28.  
  29. // это действие подразумевалось под "промежуточной переменной" ?   - да      
  30. // Вопрос по выводу всего массива: по условию задачи берем одну карту, которая первая разрывает цикл или я ошибаюсь?  - не понял вопрос.
  31. // пункт 3 я бы реализовал циклом по всем картам с выводом значений каждой и суммой всех в конце.
  32. // пункт 4 можно реализовать как цикл на заданное количество итераций, или с дополнительным вопросом
  33. // пользователю - "желаете повторить ввод карты и суммы?"
  34. // ваш вариант кода рабочий, старайтесь не повторять участки кода и стремиться к его упрощению.)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement