Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var cards = [];
- cards.length = 10;
- var i = 0;
- while (i < cards.length) { // вносимо інфо, що на кожній картці по 0 грн
- cards[i] = 0;
- i++;
- }
- for (i = 0; i < cards.length; i++) { // перевіримо, що лежить на кожній картці
- console.put (cards[i] + " ");
- }
- console.log();
- var isAccepted = true;
- var card, sum;
- while (isAccepted) {
- // особисто мені хочеться спростити до мінімуму, та й ще відокремити різні перевірки, тобто уникнути вкладенності.
- // а ще коли між if та else багато коду - теж ускладнює сприйняття, та й взагалі, якщо можна уникнути чогось (else так
- // точно), то краще уникнути. І час виграєте і дасте замовникові більшу свободу вибору, бо вгадувати плюшки то не вдячна
- // справа. Наголошую, це особиста думка, цілком допускаю, що ваш підхід крутіший та доцільніший ніж мій.
- card = +prompt("Введіть номер карточки, на яку Ви хочете покласти гроші");
- //перевіряємо корректність введеного номера картки
- if (card >= 0 && card <10) {
- sum = +prompt("Скільки Ви бажаєте покласти гривень?");
- //перевіряємо корректність введеної суми
- if (sum >= -1000 && sum <= 1000){
- cards[card] += sum;
- } else {
- alert('Сума повинна бути від -1000 до 1000');
- console.log ('Введена невірна сума!');
- continue;
- }
- } else {
- alert('Невірний номер карти!!!');
- console.log('Введено невірний номер карти!!!')
- continue;
- }
- // перевіримо, що лежить на кожній картці
- for (i = 0; i < cards.length; i++) {
- console.put (cards[i] + " ");
- }
- console.log();
- isAccepted = confirm ('Ви хочете покласти ще грошей?');
- }
- // знайдемо скільки грошей на всіх картах разом
- var allCards = 0;
- for (i = 0; i < cards.length; i++) {
- allCards += cards[i];
- }
- console.log('В сумі на всіх картах '+ allCards + ' гривень');
- // мій варіант простий простий, менше повідомлень, але я згоден на цю "жертву". Коли вже всі прийомчики будуть у вашому
- // арсеналі, а саме функції, то вже будете робити такий ux більш корректно та менше ускладнюючи код. Тобто ваше бажання
- // гарного ui/ux - то добре, але на цьому етапі реалізація трохи зайва, на мою думку.
- while (isAccepted) {
- do {
- card = +prompt("Введіть номер карточки, на яку Ви хочете покласти гроші");
- } while (card < 0 || card >= 10)
- // тут ми з валідним номером картки
- do {
- sum = +prompt("Скільки Ви бажаєте покласти гривень?");
- } while (sum < -1000 || sum > 1000)
- // тут і з валідною сумою
- cards[cardNum] = payment; // імена змінних теж суб'єктивно мої
- isAccepted = confirm ('Ви хочете покласти ще грошей?'); // тут ви круто придумали, я такого і не знав.
- }
- // раджу спочатку вчитись у "ширину" а потім вже, у міру поточних завдань у "глибину", здається це більш ефективно.
- // Гарне рішення з ux/ui , але ж і ускладнене з цих причин. Не зловживайте вкладеністю умов (та циклів теж) , якщо можна
- // без елсе - краще без нього, щоб не тримати в голові на протязі багатьох рядків коду що ми у умові.. бо коли натрапити
- // на елес, то вже прийдеться скролити угору, уточнювати до якої він умови. Якщо можна локально спочатку одне, за ним друге,
- // то легше, і втретє повторю - то лише для роздумів, не істина у першій інстанції.)
- // Гарного коду!)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement