Проблема с циклом While!
Здравствуйте! Я тут новенький. Помогите с решением данной проблемы:
После ввода букв, например, или цифр, которые не предусмотрены в условии, после того, как алерт мне дал знать, что я ввожу не верное значение для продолжения, даже если ввести 1, что в условии, то всё равно алерт говорит, шо "Неизвестный номер операции!" Кажется, тут совсем глупая ошибка, но всё же, помогите!:) ;) <meta charset="utf-8"> <script> var Num = parseInt(prompt("Здравствуйте! Это конвертер валют! Чтобы перевести рубли в доллары/евро, введите 1; чтобы доллары в рубли/евро, введите 2; чтобы евро в рубли/доллары, введите 3")); while (Num != 1 || Num != 2 || Num != 3) { alert("Неизвестый номер операции!"); Num = parseInt(prompt("Попробуйте ещё раз! Чтобы перевести рубли в доллары/евро, введите 1; чтобы доллары в рубли/евро, введите 2; чтобы евро в рубли/доллары, введите 3")); } if (Num == 1) { var doll = 60; var eur = 70; var rub = parseFloat(prompt("Введите сумму (₽), которую нужно перевести в доллары/евро")); while (isNaN(rub)) { alert("Вы ввели не число, попробуйте ещё раз!"); rub = parseFloat(prompt("Введите сумму (₽), которую нужно перевести в доллары/евро")); } alert(rub + "₽ = " + ((rub / doll).toFixed(2)) + "$ и " + ((rub / eur).toFixed(2)) + "€"); } if (Num == 2) { var rub = 60; var eur = 0.85; var doll = parseFloat(prompt("Введите сумму ($), которую нужно перевести в рубли/евро")); while (isNaN(doll)) { alert("Вы ввели не число, попробуйте ещё раз!"); doll = parseFloat(prompt("Введите сумму ($), которую нужно перевести в рубли/евро")); } alert(doll + "$ = " + ((doll * rub).toFixed(2)) + "₽ и " + ((doll * eur).toFixed(2)) + "€"); } if (Num == 3) { var rub = 70; var doll = 1.18; var eur = parseFloat(prompt("Введите сумму (€), которую нужно перевести в рубли/доллары")); while (isNaN(eur)) { alert("Вы ввели не число, попробуйте ещё раз!"); eur = parseFloat(prompt("Введите сумму (€), которую нужно перевести в рубли/доллары")); } alert(eur + "€ = " + ((eur * rub).toFixed(2)) + "₽ и " + ((eur * doll).toFixed(2)) + "$"); } </script> |
frdmHckr, начнем с того, что у тебя плохой алгоритм... У тебя много повторяющихся кусков, такого быть не должно.
Так же начинай учиться тестировать свой код. Если ты сомневаешься в условии цикла - выводи его на экран или консоль, дабы понять с чем ты имеешь дело. ;) |
frdmHckr, так же есть циклы с постусловием... ;)
|
Часовой пояс GMT +3, время: 17:30. |