Написати скрипт на javascript, який виконує функцію конвертації валют (Гривні, Шведська крона, Чешська крона). Щоб виконувалося, як на рисунку
Ответы
Ответ:
Ниже код. Не забудь перевести на украинский и проверить тексты вопросов. Внимательно прочти комментарии к коду. Если что-то непонятно, спрашивай. Если человек писал код не сам — это очень хорошо видно. А если он ещё и объяснить код не может, то…
Говорю сразу: код очень упрощённый. Но, как я понимаю, ваша тема урока — это операторы ветвления и ввод данных. Потому усложнять решение, приближать его к реальности, без явного на то указания, не следует.
// Объявляем ассоциативный массив со вложенными подмассивами. Тут всё ясно: код валюты (как ключ), кусок строки для нашего сообщения и значение курса.
const rate = {"CZK": ["чешских кронах", 15], "UA": ["украинской гривне", 5], "SEK": ["шведских кронах", 20]};
// Бесконечный цикл
while(true) {
let result = prompt("Зайти в программу. Так или нет?", "");
// если пользователь ничего не ввёл или ввёл что-то, кроме «да», прерываем цикл.
if (result.toLowerCase() !== "да") break;
let currency = prompt("Какую валюту вы хотите конвертировать? UA - гривны, CZK - чешские кроны, SEK - шведские кроны", "");
// если пользователь ничего не ввёл или то, что он ввёл, НЕ является одним из ключей нашего массива (не код валюты), прерываем цикл
if (!rate.hasOwnProperty(currency.toUpperCase())) break;
let count = prompt("Введите количество:", "");
// если пользователь ничего не ввёл, прерываем цикл. В реальности была бы нужна строгая проверка на корректность введённых данных. Число? Не отрицательное? Не ноль? И т.д.
if (result === "") break;
// Конструируем вывод и считаем. Первым значением вложенных массивов к кодам валюты у нас идёт кусок строки, а вторым курс.
alert(`Сумма в ${rate[currency.toUpperCase()][0]}: ${count / rate[currency.toUpperCase()][1]}`);
result = prompt("Хотите конвертировать другую валюту? Да или нет?", "");
// если пользователь ввёл «да», начинается новая итерация цикла; если ввёл что-то иное, прерываем
if (result.toLowerCase() !== "да") break;
}