Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Прошу прощения и помощи (https://javascript.ru/forum/project/65237-proshu-proshheniya-i-pomoshhi.html)

Trixterkorvo 06.10.2016 14:01

Прошу прощения и помощи
 
Добрый день(вечер,ночь ) всем)ребят, нужна помощь .
Есть такой код:
<!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>
Работает он вроде нормально, но мне ещё нужно добавить сюда возможность подсчета верных ответов и в конце вывести сообщение с кол-вом верных ответов.

Я только начал этим заниматься, и это первое задание которое нужно сделать

Coriolan161 06.10.2016 14:56

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);

Trixterkorvo 06.10.2016 15:59

Спасибо большое))) буду теперь разбираться что к чему)

Coriolan161 06.10.2016 16:06

Trixterkorvo,
https://learn.javascript.ru/array-iteration#filter
Хотя лучше всю фильтрацию проводить в одном цикле

Trixterkorvo 06.10.2016 23:40

К сожалению не отображает кол-во верных/неверных. И более того, перестал давать результат к последнему вопросу

рони 06.10.2016 23:52

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>

Trixterkorvo 07.10.2016 00:00

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


Часовой пояс GMT +3, время: 16:07.