Вот написал с использованием массивов!
/* * Программа должна запрашивать несколько слов, выдавая на экран их характеристику. * Например, «животное, муж. рода, ед. числа., имен. падеж)». * После ввода всех слов, на экран выдается стихотворение, в котором часть слов заменены введенными с клавиатуры словами. */ var name = prompt("Укажите имя существа!"); name = name.toLowerCase(); var pol = prompt("Какой у него род?"); pol = pol.toLowerCase(); var men = "На полу лежит ,то ли спит то ли здох, я на хвост ему стал, оказалось он спал."; var women = "На полу лежит ,то ли спит то ли здохла, я на хвост её стал, оказалось она спала."; var arrMen = men.split(' '); var arrWomen = women.split(' '); if (name && typeof(name) == "string"){ var arrName = name.split(); if (arrName instanceof Array){} else {document.write("Error not array");}} else {alert("Проблемма с введёнными данными 'Имени существа'");} if (pol && typeof(pol) == "string"){ if (pol == "женский") { var arrPolWomen = pol.split(); if (arrPolWomen instanceof Array){ index = arrWomen.indexOf('лежит'); arrWomen.splice(index+1,0,arrName); delete index; alert(arrWomen.join(" "));} else {document.write("Проблемма с массивом");}} else if (pol == "мужской"){ var arrPolMan = pol.split(); if (arrPolMan instanceof Array){ index = arrMen.indexOf('лежит'); arrMen.splice(index+1,0,arrName); delete index; alert(arrMen.join(" "));} else {document.write("Not PolMan Array ");}} } else {alert("Проблемма с введёнными данными 'Рода'");} |
Цитата:
|
Цитата:
|
Для удобства за пуска и подсветки синтаксиса:
/* * Программа должна запрашивать несколько слов, выдавая на экран их характеристику. * Например, «животное, муж. рода, ед. числа., имен. падеж)». * После ввода всех слов, на экран выдается стихотворение, в котором часть слов заменены введенными с клавиатуры словами. * Copyright Vitaliy_m */ var name = prompt("Укажите имя существа!"); name = name.toLowerCase(); var pol = prompt("Какой у него род?"); pol = pol.toLowerCase(); var men = "На полу лежит ,то ли спит то ли здох, я на хвост ему стал, оказалось он спал."; var women = "На полу лежит ,то ли спит то ли здохла, я на хвост её стал, оказалось она спала."; var arrMen = men.split(' '); var arrWomen = women.split(' '); if (name && typeof(name) == "string"){ var arrName = name.split(); if (arrName instanceof Array){} else {document.write("Error not array");}} else {alert("Проблемма с введёнными данными 'Имени существа'");} if (pol && typeof(pol) == "string"){ if (pol == "женский") { var arrPolWomen = pol.split(); if (arrPolWomen instanceof Array){ index = arrWomen.indexOf('лежит'); arrWomen.splice(index+1,0,arrName); delete index; alert(arrWomen.join(" "));} else {document.write("Проблемма с массивом");}} else if (pol == "мужской"){ var arrPolMan = pol.split(); if (arrPolMan instanceof Array){ index = arrMen.indexOf('лежит'); arrMen.splice(index+1,0,arrName); delete index; alert(arrMen.join(" "));} else {document.write("Not PolMan Array ");}} } else {alert("Проблемма с введёнными данными 'Рода'");} |
И вот кстати, как это на мой взгляд лучше сделать:
var strReplace = '[---%name%---]'; var name = prompt("Укажите имя существа!"); var pol = prompt("Какой у него род?"); var men = "На полу лежит "+strReplace+", то ли спит то ли cдох, я на хвост ему стал, оказалось он спал."; var women = "На полу лежит "+strReplace+", то ли спит то ли cдохла, я на хвост её стал, оказалось она спала."; var end = ''; if (!name) { alert('Вы не ввели имя'); throw new Error; } if (!pol) { alert('Вы не ввели род'); throw new Error; } name = name.toLowerCase(); pol = pol.toLowerCase(); switch (pol) { case 'мужской': end = men.replace(strReplace, name); break; case 'женский': end = women.replace(strReplace, name); break; default: alert('Вы неправильно ввели род'); throw new Error; } alert(end); Можно конечно ещё подсократить |
Часовой пояс GMT +3, время: 06:30. |