task-10.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. // currency calc
  2. // Калькулятор обмена валют.Первый prompt спрашивает валюту: "usd" или "eur".
  3. // С помощью switch установите обменный курс для валюты, выбранной пользователем,
  4. // после чего спросите величину и переведите её из гривны в выбранную на первом prompt валюту.
  5. // Выведите результат в alert()
  6. // currency calc: improved
  7. // Улучшить предыдущее задание: сделать возможность ввода валюты любыми буквами(usd, uSd, USD),
  8. // используйте str.toLowerCase().
  9. // currency calc: two rates
  10. // Добавить к возможность выбора обменного курса на продажу и покупку.Используйте confirm для ввода
  11. // пользователя и тернарный оператор для величины курса.
  12. // currency calc: if
  13. // Сделать тоже самое на if
  14. const f10 = (rootId) => {
  15. const task10block = document.createElement('div');
  16. const task10_1title = document.createElement('h2');
  17. task10_1title.innerText = 'Task-10-1 Сurrency calc + Task-10-2 Сurrency calc: improved';
  18. const task10_3title = document.createElement('h2');
  19. task10_3title.innerText = 'Task-10-3 Сurrency calc: two rates';
  20. const task10_4title = document.createElement('h2');
  21. task10_4title.innerText = 'Task-10-4 Сurrency calc calc: if';
  22. const exchange_01Btn = document.createElement('button');
  23. exchange_01Btn.innerText = "Exchange UAH to USD or EUR";
  24. exchange_01Btn.style = 'margin-bottom:20px';
  25. const exchange_03Btn = document.createElement('button');
  26. exchange_03Btn.innerText = "Exchange UAH to USD or EUR";
  27. exchange_03Btn.style = 'margin-bottom:20px';
  28. const exchange_04Btn = document.createElement('button');
  29. exchange_04Btn.innerText = "Exchange UAH to USD or EUR";
  30. exchange_04Btn.style = 'margin-bottom:20px';
  31. rootId.appendChild(task10block);
  32. task10block.appendChild(task10_1title);
  33. task10block.appendChild(exchange_01Btn);
  34. exchange_01Btn.onclick = () => {
  35. const toCurrency = prompt('Введите валюту, которую хотите купить: EUR или USD');
  36. let fromAmount = null;
  37. let toAmount;
  38. switch (toCurrency.toLowerCase()) {
  39. case 'usd':
  40. fromAmount = prompt('Введите сумму в гривне');
  41. toAmount = fromAmount / 27.62;
  42. break;
  43. case 'eur':
  44. fromAmount = prompt('Введите сумму в гривне');
  45. toAmount = fromAmount / 31.06;
  46. break;
  47. default: alert('Чет я не понял, попробуйте еще раз');
  48. break;
  49. }
  50. !fromAmount || alert(`На ${fromAmount} UAH вы можете приобрести ${Math.round(toAmount * 100) / 100} ${toCurrency.toUpperCase()} `);
  51. }
  52. task10block.appendChild(task10_3title);
  53. task10block.appendChild(exchange_03Btn);
  54. exchange_03Btn.onclick = () => {
  55. const toCurrency = prompt('Введите валюту, которую хотите купить: EUR или USD');
  56. let fromAmount = null;
  57. let toAmount;
  58. let chosenCourse;
  59. if (toCurrency) {
  60. switch (toCurrency.toLowerCase()) {
  61. case 'usd':
  62. confirm('Использовать курс продажи 27.62? Если нет, то будет использован курс покупки 27.15') ? (chosenCourse = 27.62) : (chosenCourse = 27.15);
  63. fromAmount = prompt('Введите сумму в гривне');
  64. toAmount = fromAmount / chosenCourse;
  65. break;
  66. case 'eur':
  67. confirm('Использовать курс продажи 31.06? Если нет, то будет использован курс покупки 30.55') ? (chosenCourse = 31.06) : (chosenCourse = 30.55);
  68. fromAmount = prompt('Введите сумму в гривне');
  69. toAmount = fromAmount / chosenCourse;
  70. break;
  71. default: alert('Чет я не понял, попробуйте еще раз');
  72. break;
  73. }
  74. ((!fromAmount && alert('Чет я не понял, попробуйте еще раз') || !fromAmount)) || alert(`На ${fromAmount} UAH вы можете приобрести ${Math.round(toAmount * 100) / 100} ${toCurrency.toUpperCase()} `);
  75. }
  76. else { alert('Чет я не понял, попробуйте еще раз') };
  77. }
  78. task10block.appendChild(task10_4title);
  79. task10block.appendChild(exchange_04Btn);
  80. exchange_04Btn.onclick = () => {
  81. const toCurrency = prompt('Введите валюту, которую хотите купить: EUR или USD');
  82. let fromAmount = null;
  83. let toAmount = null;
  84. let chosenCourse;
  85. if (toCurrency) {
  86. if (toCurrency.toLowerCase() === 'usd') {
  87. confirm('Использовать курс продажи 27.62? Если нет, то будет использован курс покупки 27.15') ? (chosenCourse = 27.62) : (chosenCourse = 27.15);
  88. fromAmount = prompt('Введите сумму в гривне');
  89. toAmount = fromAmount / chosenCourse;
  90. }
  91. else {
  92. if (toCurrency.toLowerCase() === 'eur') {
  93. confirm('Использовать курс продажи 31.06? Если нет, то будет использован курс покупки 30.55') ? (chosenCourse = 31.06) : (chosenCourse = 30.55);
  94. fromAmount = prompt('Введите сумму в гривне');
  95. toAmount = fromAmount / chosenCourse;
  96. }
  97. else { alert('Чет я не понял, попробуйте еще раз'); }
  98. }
  99. //Проверка на неккоректный ввод:
  100. toAmount || ((!fromAmount && alert('Чет я не понял, попробуйте еще раз') || !fromAmount)) || alert(`На ${fromAmount} UAH вы можете приобрести ${Math.round(toAmount * 100) / 100} ${toCurrency.toUpperCase()} `);
  101. }
  102. else { alert('Чет я не понял, попробуйте еще раз') };
  103. }
  104. }
  105. f10(root);
  106. export default f10;