main.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. function upperFirst(str) {
  2. if (!str) return str;
  3. return str[0].toUpperCase() + str.slice(1);
  4. }
  5. let menu = prompt('Выберите название задания из списка\nswitch sizes\nswitch if\nage prompt or' +
  6. '\nconfirm or this days\nconfirm if this days\ntriple prompt\ndefault or\ndefault if\nlogin and password\ncurrency calc' +
  7. '\ncurrency calc improved\ncurrency calc two rates\ncurrency calc if\nscissors\ncurrency exchange object' +
  8. '\ncurrency exchange real data\nscissors without if', '');
  9. switch (menu) {
  10. case "switch sizes":
  11. {
  12. var size = parseInt(prompt("Введите размер от 40 до 54", ""));
  13. switch (size) {
  14. case 40:
  15. alert("Американский размер - S");
  16. break;
  17. case (42 || 44):
  18. alert("Американский размер - M");
  19. break;
  20. case (46 || 48):
  21. alert("Американский размер - L");
  22. break;
  23. case (50 || 52):
  24. alert("Американский размер - XL");
  25. break;
  26. case (54):
  27. alert("Американский размер - XXL");
  28. break;
  29. default:
  30. alert("Вы ввели некорректное значение");
  31. }
  32. break;
  33. }
  34. case "switch if":
  35. {
  36. let color = (prompt("Введите цвет", ""));
  37. if (color == "red") {
  38. document.write("<div style='background-color: red;'>красный</div>");
  39. document.write("<div style='background-color: black; color: white;'>черный</div>");
  40. } else {
  41. if (color == "black") {
  42. document.write("<div style='background-color: black; color: white;'>черный</div>");
  43. } else {
  44. if (color == "blue") {
  45. document.write("<div style='background-color: blue;'>синий</div>");
  46. document.write("<div style='background-color: green; color: white;'>зеленый</div>");
  47. } else {
  48. if (color == "green")
  49. document.write("<div style='background-color: green; color: white;'>зеленый</div>");
  50. else {
  51. document.write("<div style='background-color: gray;'>Я не понял</div>");
  52. }
  53. }
  54. }
  55. }
  56. break;
  57. }
  58. case "age prompt or":
  59. {
  60. let age = Number(prompt("Сколько тебе лет?"));
  61. let yearBirth = 2021 - age;
  62. //если age = 0,(false) с оператором и выходит false&&true => false
  63. //далее если false || true => true если введенно не число, нажата отмена или пустая строка тогда
  64. //срабатывает вторая часть конструкции и выводит ошибку
  65. //!age (все неккоректные варианты)
  66. (age && alert(`Ваш год рождение это - ${yearBirth}`)) || (!age && alert("Произошла ошибочка"));
  67. break;
  68. }
  69. case "confirm or this days":
  70. {
  71. confirm("шопинг?") || alert("ты - бяка");
  72. break;
  73. }
  74. case "confirm if this days":
  75. {
  76. let question = confirm("шопинг?");
  77. if (!question)
  78. alert("ты - бяка");
  79. break;
  80. }
  81. case "triple prompt":
  82. {
  83. let surname = prompt("Введите фамилию", "");
  84. let name = prompt("Введите имя", "");
  85. let patronymic = prompt("Введите отчество", "");
  86. alert('Ваше ФИО это ' + upperFirst(surname) + " " + upperFirst(name) + " " + upperFirst(patronymic));
  87. break;
  88. }
  89. case "default or":
  90. {
  91. let
  92. surname = prompt("Введите фамилию", ""),
  93. name = prompt("Введите имя", ""),
  94. patronymic = prompt("Введите отчество", "");
  95. surname = ((surname) || (surname = "Иванов"));
  96. name = ((name) || (name = "Иван"));
  97. patronymic = ((patronymic) || (patronymic = "Иванович"));
  98. alert('Ваше ФИО это ' + upperFirst(surname) + " " + upperFirst(name) + " " + upperFirst(patronymic));
  99. break;
  100. }
  101. case "default if":
  102. {
  103. let
  104. surname = prompt("Введите фамилию", ""),
  105. name = prompt("Введите имя", ""),
  106. patronymic = prompt("Введите отчество", "");
  107. if (surname)
  108. surname = upperFirst(surname);
  109. else
  110. surname = "Иванов";
  111. if (name)
  112. name = upperFirst(name);
  113. else
  114. name = "Иван";
  115. if (patronymic)
  116. patronymic = upperFirst(patronymic);
  117. else
  118. patronymic = "Иванович";
  119. alert('Ваше ФИО это ' + surname + " " + name + " " + patronymic);
  120. break;
  121. }
  122. case "login and password":
  123. {
  124. check = {
  125. login: "admin",
  126. password: "qwerty"
  127. }
  128. log = prompt("Введите login", "");
  129. if (log == check["login"]) {
  130. pass = prompt("Введите password", "");
  131. if (pass == check["password"]) {
  132. alert("Вы ввели правильный логин и пароль!")
  133. } else {
  134. alert("Вы ввели неправильный пароль!")
  135. }
  136. } else {
  137. alert("Вы ввели неправильный логин!")
  138. }
  139. break;
  140. }
  141. case "currency calc":
  142. {
  143. let usd = 26;
  144. let eur = 30;
  145. let resCurrency = prompt("Введите валюту: 'usd' или 'eur'", "");
  146. switch (resCurrency) {
  147. case "usd":
  148. {
  149. number = prompt("Введите величину в uah", "");
  150. if (number > 0)
  151. alert("USD: " + (number * usd));
  152. else
  153. alert("Вы ввели некорректное число");
  154. break;
  155. }
  156. case "eur":
  157. {
  158. number = prompt("Введите величину в uah", "");
  159. if (number > 0)
  160. alert("EUR: " + (number * eur));
  161. else
  162. alert("Вы ввели некорректное число");
  163. break;
  164. }
  165. default:
  166. alert("Вы ввели некорректное значение");
  167. }
  168. break;
  169. }
  170. case "currency calc improved":
  171. {
  172. let usd = 26;
  173. let eur = 30;
  174. let resCurrency = prompt("Введите валюту: 'usd' или 'eur'", "").toLowerCase();
  175. switch (resCurrency) {
  176. case "usd":
  177. {
  178. number = prompt("Введите величину в uah", "");
  179. if (number > 0)
  180. alert("USD: " + (number * usd));
  181. else
  182. alert("Вы ввели некорректное число");
  183. break;
  184. }
  185. case "eur":
  186. {
  187. number = prompt("Введите величину в uah", "");
  188. if (number > 0)
  189. alert("EUR: " + (number * eur));
  190. else
  191. alert("Вы ввели некорректное число");
  192. break;
  193. }
  194. default:
  195. alert("Вы ввели некорректное значение");
  196. }
  197. break;
  198. }
  199. case "currency calc two rates":
  200. {
  201. const usdSale = 26.3;
  202. const usdBuy = 26;
  203. let choice = confirm('Если вы хотите на продажу нажмите ок если на покупку отмена');
  204. let number = prompt("Введите вашу сумму в usd", "");
  205. let result = ((choice) && ((number * usdSale.toFixed(2))) || ((!choice) && ((number * usdBuy.toFixed(2)))));
  206. let solution = alert('Результат= ' + result);
  207. break;
  208. }
  209. case "currency calc if":
  210. {
  211. const usdSale = 26.3;
  212. const usdBuy = 26;
  213. let solution;
  214. let choice = confirm('Если вы хотите на продажу нажмите ок если на покупку отмена');
  215. let number = prompt("Введите вашу сумму в usd", "");
  216. if (choice)
  217. solution = alert('Результат = ' + ((number * usdSale).toFixed(2)));
  218. else
  219. solution = alert('Результат= ' + ((number * usdBuy).toFixed(2)));
  220. break;
  221. }
  222. case "scissors":
  223. {
  224. let userName = prompt("Введите свой ник для дальнейшей игры", "");
  225. userName = ((userName) || (userName = "UserName"));
  226. let choiceUser = prompt("Введите свой выбор\nкамень\nножницы\nбумага", "");
  227. let objectGame = {
  228. 0: "камень",
  229. 1: "ножницы",
  230. 2: "бумага"
  231. }
  232. let generateNum = Math.floor(Math.random() * 3);
  233. switch (choiceUser) {
  234. case ("камень"):
  235. {
  236. alert("Компьютер сгенирировал " + objectGame[generateNum]);
  237. if (objectGame[generateNum] == "бумага")
  238. alert("Компьютер выграл! Он оказался сильнее вас :(\nНо не отчаивайтесь, в следующий раз вы сможете! ");
  239. else {
  240. if (choiceUser == objectGame[generateNum])
  241. alert("Ничья!");
  242. else alert(`${userName} выграл! Вы оказались сильнее этого компьютера!`);
  243. }
  244. break;
  245. }
  246. case ("ножницы"):
  247. {
  248. alert("Компьютер сгенирировал " + objectGame[generateNum]);
  249. if (objectGame[generateNum] == "камень")
  250. alert("Компьютер выграл! Он оказался сильнее вас :(\nНо не отчаивайтесь, в следующий раз вы сможете! ");
  251. else {
  252. if (choiceUser == objectGame[generateNum])
  253. alert("Ничья!");
  254. else alert(`${userName} выграл! Вы оказались сильнее этого компьютера!`);
  255. }
  256. break;
  257. }
  258. case ("бумага"):
  259. {
  260. alert("Компьютер сгенирировал " + objectGame[generateNum]);
  261. if (objectGame[generateNum] == "ножницы")
  262. alert("Компьютер выграл! Он оказался сильнее вас :(\nНо не отчаивайтесь, в следующий раз вы сможете! ");
  263. else {
  264. if (choiceUser == objectGame[generateNum])
  265. alert("Ничья!");
  266. else alert(`${userName} выграл! Вы оказались сильнее этого компьютера!`);
  267. }
  268. break;
  269. }
  270. default:
  271. alert("вы ввели неккоректный выбор для игры :( ");
  272. }
  273. break;
  274. }
  275. case "currency exchange object":
  276. {
  277. let number;
  278. let ratios = {
  279. usd: 25.6,
  280. eur: 29,
  281. pln: 6.5
  282. }
  283. let currency = prompt("Введите валюту для обмена (в uah) с \nusd\neur\npln ", "");
  284. if (currency == "usd") {
  285. number = prompt("Введите вашу сумму", "");
  286. alert('Результат = ' + number * ratios["usd"]);
  287. } else {
  288. if (currency == "eur") {
  289. number = prompt("Введите вашу сумму", "");
  290. alert('Результат = ' + number * ratios["eur"]);
  291. } else {
  292. if (currency == "pln") {
  293. number = prompt("Введите вашу сумму", "");
  294. alert('Результат = ' + number * ratios["pln"]);
  295. } else {
  296. alert('Вы ввели неккоректный выбор');
  297. }
  298. }
  299. }
  300. break;
  301. }
  302. case "currency exchange real data":
  303. {
  304. let currency = prompt("Введите валюту для обмена (в uah) с \nusd\neur\npln ", "");
  305. if (currency == "usd") {
  306. number = prompt("Введите вашу сумму", "");
  307. fetch('https://open.er-api.com/v6/latest/USD').then(res => res.json())
  308. .then(data => {
  309. let real_usd = data.rates.UAH;
  310. alert('Результат = ' + number * real_usd);
  311. })
  312. } else {
  313. if (currency == "eur") {
  314. number = prompt("Введите вашу сумму", "");
  315. fetch('https://open.er-api.com/v6/latest/EUR').then(res => res.json())
  316. .then(data => {
  317. let real_eur = data.rates.UAH;
  318. alert('Результат = ' + number * real_eur);
  319. })
  320. } else {
  321. if (currency == "pln") {
  322. number = prompt("Введите вашу сумму", "");
  323. fetch('https://open.er-api.com/v6/latest/PLN').then(res => res.json())
  324. .then(data => {
  325. let real_pln = data.rates.UAH;
  326. alert('Результат = ' + number * real_pln);
  327. })
  328. } else {
  329. alert('Вы ввели неккоректный выбор');
  330. }
  331. }
  332. }
  333. break;
  334. }
  335. case "scissors without if":
  336. {
  337. let choiceUser = prompt("Введите свой выбор\nкамень\nножницы\nбумага", "");
  338. let objectGame = {
  339. 0: "камень",
  340. 1: "ножницы",
  341. 2: "бумага"
  342. }
  343. let generateNum = Math.floor(Math.random() * 3);
  344. alert("Компьютер сгенирировал " + objectGame[generateNum]);
  345. (((choiceUser == "бумага") && (objectGame[generateNum] == "ножницы")) || ((choiceUser == "ножницы") && (objectGame[generateNum] == "камень"))) ? alert("компьютер победил") : (choiceUser == objectGame[generateNum]) ? alert("ничья") : alert("юзер победил");
  346. break;
  347. }
  348. default:
  349. alert("Вы ввели некорректное значение");
  350. }