Javascript.RU

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

Задача на javascript
Помогите пожалуйста разобраться с домашним заданием.

Нужно написать программу, которая исходя из суммы покупок пользователя, определяет его статус и сумму, на которую ему нужно совершить покупок до следующего статуса: пользователь должен ввести сумму своих покупок

Статусы:
0–1000 –без статуса
1000 –10_000 –бронзовый
10_000 –50_000 –серебреный
50_000 –100_000–золотой
100_000 –500_000 -платиновый
Ответить с цитированием
  #2 (permalink)  
Старый 22.01.2018, 23:56
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

а если выше 500 000 что тогда? 'платиновый' или 'вы ввели неверную сумму'?
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2018, 00:05
Новичок на форуме
Отправить личное сообщение для Julia_1313 Посмотреть профиль Найти все сообщения от Julia_1313
 
Регистрация: 22.01.2018
Сообщений: 5

Выше 500 000 тогда остается "платиновый"
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2018, 00:12
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,576

var statuses = [
  [1e5, 'платиновый'],
  [5e4, 'золотой'],
  [1e4, 'серебреный'],
  [1e3, 'бронзовый']
], length = statuses.length;

var summ = +prompt('Сумма покупок?', '').replace(/\D/g,'');

var i = statuses.findIndex( ([value]) => value <= summ );

alert(
  (
    ~i 
    ? `У вас ${statuses[i][1]} статус` 
    : (i = length, `Вы нищеброд`) 
  ) + (
    i-- 
    ? `, до ${statuses[i][1].replace(/..$/, 'ого')} статуса следует потратить ещё ${statuses[i][0] - summ} шекелей.`
    : `!`
  )
);
__________________
29375, 35

Последний раз редактировалось Aetae, 23.01.2018 в 00:14.
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2018, 00:17
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<input type="number" min='0'>Введите сумму покупок<br>
<span id="stat"></span><br>
<span id="nextStat"></span>
	<script>
document.querySelector('input').oninput=e=>{
var arr = [[100000,'платиновый'],[50000,'золотой'],[10000,'серебрянный'],[1000,'бронзовый'],[0,'без статуса']],
v = arr.findIndex(el => el[0] <= +e.target.value);
document.querySelector('#stat').textContent = 'Ваш статус: '+arr[v][1];
document.querySelector('#nextStat').textContent = v!=0?'Нужно потратить до следующего статуса: '+(+arr[v-1][0] - e.target.value):'Максимальный статус';
};
	</script>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2018, 00:19
Новичок на форуме
Отправить личное сообщение для Julia_1313 Посмотреть профиль Найти все сообщения от Julia_1313
 
Регистрация: 22.01.2018
Сообщений: 5

Спасибо большое
Ответить с цитированием
  #7 (permalink)  
Старый 23.01.2018, 00:25
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,576

Julia_1313, а если препод попросит вас объяснить всю эту хренатень? Все эти стрелочки туда-сюда, чёрточки...
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 23.01.2018, 00:35
Новичок на форуме
Отправить личное сообщение для Julia_1313 Посмотреть профиль Найти все сообщения от Julia_1313
 
Регистрация: 22.01.2018
Сообщений: 5

Постараюсь как следует разобраться, прежде чем придется преподу объяснять
Ответить с цитированием
  #9 (permalink)  
Старый 23.01.2018, 00:56
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Julia_1313, преподу лучше так решите, будет меньше вопросов
var summ = parseFloat(prompt('Сумма покупок?', ''), 10);
if (summ > 100000) {
	alert('Ваш статус платиновый! жизнь удалась!');
}
else if (summ >= 50000&& summ < 100000) {
	alert('Ваш статус золотой! До статуса платиновый вам надо потратить '+(100000-summ));
}
else if (summ >= 10000&& summ < 50000) {
	alert('Ваш статус серебряный! До статуса золотой вам надо потратить '+(50000-summ));
}
else if (summ >= 1000&& summ < 10000) {
	alert('Ваш статус бронзовый! До  статуса серебряный вам надо потратить '+(10000-summ));
}
else if (summ >= 0&& summ < 1000) {
	alert('У вас пока что нет статуса! До статуса бронзовый вам надо потратить '+(1000-summ));
}
else if ( summ < 0) {
	alert('Вы должны денег магазину! До статуса бронзовый вам надо потратить '+(1000-summ));
}
else alert('Неверный ввод!');

Последний раз редактировалось j0hnik, 23.01.2018 в 01:02.
Ответить с цитированием
  #10 (permalink)  
Старый 23.01.2018, 01:13
Новичок на форуме
Отправить личное сообщение для Julia_1313 Посмотреть профиль Найти все сообщения от Julia_1313
 
Регистрация: 22.01.2018
Сообщений: 5

Спасибо, так действительно понятнее
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка из одного javascript другой javascript (Локально, не на сайте.) Jaguar500070 Общие вопросы Javascript 0 17.07.2015 15:08
Требуется javascript ninja для небольшой задачи Achilles_sm Работа 7 01.07.2015 17:33
Бесплатный курс JavaScript (18 уроков)  Bokal Учебные материалы 2 16.11.2014 20:20
javascript задача!!! ToshaBoy_55 Общие вопросы Javascript 3 20.12.2012 19:13
Задача Javascript ToshaBoy_55 Общие вопросы Javascript 1 14.12.2012 15:39