Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2018, 22:29   #1
Marizii
Новичок
Джуниор
 
Регистрация: 07.10.2018
Сообщений: 13
Печаль [JavaScript] Цикл While

Добрый день, вот такая задачка по js (Очень важен ответ в ближайшем будущем):

Пользователя спрашивают логин, если введен неправильный логин, то спрашивать еще раз, если нажали кнопку «отмена» или крестик, перестать спрашивать, если введен верный логин, то вывести сообщение «добро пожаловать» и прекратить спрашивать логин.



___________________________________ ____________________________
Можно решение и разъяснение

Последний раз редактировалось Marizii; 07.10.2018 в 22:32.
Marizii вне форума Ответить с цитированием
Старый 08.10.2018, 08:28   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

И? Проблема в чем?
p51x вне форума Ответить с цитированием
Старый 09.10.2018, 14:01   #3
Marizii
Новичок
Джуниор
 
Регистрация: 07.10.2018
Сообщений: 13
По умолчанию

Почему не работает?
То что в if выполняется, а то что записано в while замыкается в бесконечый цикл.
Код:
var log = prompt(Введите логин);
var i = "12M";

while (log != null && log == i){
	alert("Добро пожаловать");
	break;
	
	if (log != null && log != i) {
		prompt("Введите логин");
	} else if (log == null) {
		break;
	}
}
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 09.10.2018 в 17:09.
Marizii вне форума Ответить с цитированием
Старый 09.10.2018, 14:14   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А что вы хотели этим кодом сделать? Напишите словами алгоритм.

Код:
while (log != null && log == i){
  alert("Добро пожаловать");
  break;

  if (log != null && log != i) {
    prompt("Введите логин");
  } else if (log == null) {
    break;
  }
}
Вы видите, что до вашего if никогда не дойдет управление? А если бы и дошло, то всегда бы выполнялась одна ветка и условие фактически не нужно?
p51x вне форума Ответить с цитированием
Старый 09.10.2018, 15:04   #5
Marizii
Новичок
Джуниор
 
Регистрация: 07.10.2018
Сообщений: 13
По умолчанию

Для начала мы вводим логин и если он не верный, выскочит строка "Введите логин ещё раз".
Если логин верный, то выводит "добро пожаловать".
Если нажата отмена или крестик, программа прекращяется.
И вот если я вынесу условие if из while, то почему-то зацикливается на while всёровно.
Даже если логин будет правильный.

Последний раз редактировалось Marizii; 09.10.2018 в 15:07.
Marizii вне форума Ответить с цитированием
Старый 09.10.2018, 15:06   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Давайте код как выносите. Скорее всего вы переменную не меняете...
p51x вне форума Ответить с цитированием
Старый 09.10.2018, 15:11   #7
Marizii
Новичок
Джуниор
 
Регистрация: 07.10.2018
Сообщений: 13
По умолчанию

Код:
 var log = prompt("Введите логин");
var i = "12M";

while (log != null && log != i){
	prompt("Введите пароль ещё раз");
	break;
}

if (log != null && log == i) {
		alert("Добро пожаловать");
	} else if (log == null) {
		break;
	}

Последний раз редактировалось Marizii; 09.10.2018 в 15:15. Причина: Ошибка
Marizii вне форума Ответить с цитированием
Старый 09.10.2018, 15:13   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Ну так log не меняется, а результат
Цитата:
prompt(&quot;Введите пароль ещё раз&quot;<br>
вообще никуда не идет.
p51x вне форума Ответить с цитированием
Старый 09.10.2018, 15:17   #9
Marizii
Новичок
Джуниор
 
Регистрация: 07.10.2018
Сообщений: 13
Печаль

Как её тогда менять? не доходит
Marizii вне форума Ответить с цитированием
Старый 09.10.2018, 15:19   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

а как вы в первый раз получили?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО]: Почему не работает цикл for на javaScript. Shvarcengold Помощь студентам 2 07.03.2017 15:24
Если поставить цикл For в цикл Repeat то как будут выполняться циклы? Владимир10101 Помощь студентам 3 14.11.2016 20:14
цикл в JavaScript laovai Помощь студентам 3 11.04.2016 08:25
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34