Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.06.2012, 15:55
Аватар для Vitaliy_m
Интересующийся
Отправить личное сообщение для Vitaliy_m Посмотреть профиль Найти все сообщения от Vitaliy_m
 
Регистрация: 07.06.2012
Сообщений: 12

Вот написал с использованием массивов!

/*
* Программа должна запрашивать несколько слов, выдавая на экран их характеристику.
* Например, «животное, муж. рода, ед. числа., имен. падеж)».
* После ввода всех слов, на экран выдается стихотворение, в котором часть слов заменены введенными с клавиатуры словами.
*/

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("Проблемма с введёнными данными 'Рода'");}
Ответить с цитированием
  #12 (permalink)  
Старый 07.06.2012, 16:13
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Vitaliy_m
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 ");}}
}
Cтроки практически идентичные , повторяющиеся два раза - лучше вызывать как функцию * arrPolMan - как переменную в функции

Последний раз редактировалось Deff, 07.06.2012 в 16:18.
Ответить с цитированием
  #13 (permalink)  
Старый 07.06.2012, 16:19
Аватар для Vitaliy_m
Интересующийся
Отправить личное сообщение для Vitaliy_m Посмотреть профиль Найти все сообщения от Vitaliy_m
 
Регистрация: 07.06.2012
Сообщений: 12

Сообщение от Deff Посмотреть сообщение
Cтроки практически идентичные , повторяющиеся два раза - лучше вызывать как функцию * arrPolMan - как переменную в функции
Понял...спасибо!

Последний раз редактировалось Vitaliy_m, 07.06.2012 в 16:22.
Ответить с цитированием
  #14 (permalink)  
Старый 07.06.2012, 16:21
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Для удобства за пуска и подсветки синтаксиса:
/*
* Программа должна запрашивать несколько слов, выдавая на экран их характеристику.
* Например, «животное, муж. рода, ед. числа., имен. падеж)».
* После ввода всех слов, на экран выдается стихотворение, в котором часть слов заменены введенными с клавиатуры словами.
* 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("Проблемма с введёнными данными 'Рода'");}
Ответить с цитированием
  #15 (permalink)  
Старый 07.06.2012, 16:37
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

И вот кстати, как это на мой взгляд лучше сделать:
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);

Можно конечно ещё подсократить
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оцените социальную сеть Sergej Ваши сайты и скрипты 17 12.03.2011 21:41
Оцените мой сайт Deemc Ваши сайты и скрипты 19 26.07.2010 17:57
Оцените интернет магазин abram87 Ваши сайты и скрипты 10 24.04.2010 15:30
Пожалуйста оцените мой сайт. DesertEagle_STALKER Ваши сайты и скрипты 13 06.04.2010 16:00
Оцените сайт moigorodok.ru Neoshnik Ваши сайты и скрипты 0 04.01.2010 17:39