Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.10.2016, 14:01
Новичок на форуме
Отправить личное сообщение для Trixterkorvo Посмотреть профиль Найти все сообщения от Trixterkorvo
 
Регистрация: 06.10.2016
Сообщений: 4

Прошу прощения и помощи
Добрый день(вечер,ночь ) всем)ребят, нужна помощь .
Есть такой код:
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
</head>
<body>
<script>

var a= prompt("Люди бывают фиолетовыми? Да / Нет ");

if (a =='Нет'|| a == 'нет' ) { alert ("Поздравляю, Вы ответили верно!");
var b = prompt ("Висит груша нельзя скушать?");
if (b== "лампа" || b== "Лампа" || b== "лампочка" || b== "Лампочка") {alert ("Верно");}
else { alert("неверно");}
var c= prompt ("Идет то в гору, то с горы, но остается на месте");
if (c== 'Дорога' || c == 'дорога') { alert ("Верно!");}
else { alert('Неверно');}
}
else { alert ('К сожалению ответ неверный');}

</script>
</body>
</html>
Работает он вроде нормально, но мне ещё нужно добавить сюда возможность подсчета верных ответов и в конце вывести сообщение с кол-вом верных ответов.

Я только начал этим заниматься, и это первое задание которое нужно сделать
Ответить с цитированием
  #2 (permalink)  
Старый 06.10.2016, 14:56
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

Trixterkorvo,
var answers = []; // это твой массив ответов
var a = prompt('Люди бывают фиолетовыми? Да / Нет ');

if (a == 'Нет'|| a == 'нет' ) {
  answers[0] = true;
  alert('Поздравляю, Вы ответили верно!');
  var b = prompt('Висит груша нельзя скушать?');
  if (b == 'лампа' || b == 'Лампа' || b == 'лампочка' || b == 'Лампочка') {
    answers[1] = true;
    alert('Верно');
  } else {
      answers[1] = false;
      alert('Неверно');
  };
  var c = prompt('Идет то в гору, то с горы, но остается на месте');
  if (c == 'Дорога' || c == 'дорога') {
    answers[2] = true;
    alert('Верно!');
  } else {
      answers[2] = false;
      alert('Неверно');
  };
} else {
    answers[0] = false;
    alert('К сожалению ответ неверный');
}

var corrects = answers.filter(function (item) { // фильтруешь массив ответов
  return item === true; // нужны верные ответы
}).length;

var wrongs = answers.filter(function (item) {
  return item === false; // нужны неверные ответы
}).length;

alert('Верных ответов: ' + corrects + '\n' + 'Неверных ответов: ' +   wrongs);
Ответить с цитированием
  #3 (permalink)  
Старый 06.10.2016, 15:59
Новичок на форуме
Отправить личное сообщение для Trixterkorvo Посмотреть профиль Найти все сообщения от Trixterkorvo
 
Регистрация: 06.10.2016
Сообщений: 4

Спасибо большое))) буду теперь разбираться что к чему)
Ответить с цитированием
  #4 (permalink)  
Старый 06.10.2016, 16:06
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

Trixterkorvo,
https://learn.javascript.ru/array-iteration#filter
Хотя лучше всю фильтрацию проводить в одном цикле
Ответить с цитированием
  #5 (permalink)  
Старый 06.10.2016, 23:40
Новичок на форуме
Отправить личное сообщение для Trixterkorvo Посмотреть профиль Найти все сообщения от Trixterkorvo
 
Регистрация: 06.10.2016
Сообщений: 4

К сожалению не отображает кол-во верных/неверных. И более того, перестал давать результат к последнему вопросу
Ответить с цитированием
  #6 (permalink)  
Старый 06.10.2016, 23:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Trixterkorvo, немного поправил порядок строк
<script>
var answers = []; // это твой массив ответов
var a = prompt('Люди бывают фиолетовыми? Да / Нет ');
if (a == 'Нет'|| a == 'нет' ) {
  answers[0] = true;
  alert('Поздравляю, Вы ответили верно!');

} else {
    answers[0] = false;
    alert('К сожалению ответ неверный');
}
var b = prompt('Висит груша нельзя скушать?');
  if (b == 'лампа' || b == 'Лампа' || b == 'лампочка' || b == 'Лампочка') {
    answers[1] = true;
    alert('Верно');
  } else {
      answers[1] = false;
      alert('Неверно');
  };
var c = prompt('Идет то в гору, то с горы, но остается на месте');
  if (c == 'Дорога' || c == 'дорога') {
    answers[2] = true;
    alert('Верно!');
  } else {
      answers[2] = false;
      alert('Неверно');
  };
var corrects = answers.filter(function (item) { // фильтруешь массив ответов
  return item === true; // нужны верные ответы
}).length;

var wrongs = answers.filter(function (item) {
  return item === false; // нужны неверные ответы
}).length;

alert('Верных ответов: ' + corrects + '\n' + 'Неверных ответов: ' +   wrongs);

  </script>
Ответить с цитированием
  #7 (permalink)  
Старый 07.10.2016, 00:00
Новичок на форуме
Отправить личное сообщение для Trixterkorvo Посмотреть профиль Найти все сообщения от Trixterkorvo
 
Регистрация: 06.10.2016
Сообщений: 4

Все, я понял, спасибо всем большое)) мог и сам догадаться что нужно переместить "else" с первого вопроса выше )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помощи! Slandewi jQuery 3 13.07.2016 23:32
Прошу помощи с формой обратной связи markfostel jQuery 14 14.10.2015 00:29
прошу помощи с autocomplete uj query ramko AJAX и COMET 2 27.09.2013 20:35
Прошу помощи xavi AJAX и COMET 8 28.01.2013 10:36
Прошу помощи скриптеров или кого либо кто поможет :) f00rZik Общие вопросы Javascript 13 05.01.2012 03:42