Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/75: Рейтинг темы: голосов - 75, средняя оценка - 4.76
29 / 29 / 1
Регистрация: 13.06.2011
Сообщений: 165

знак зодиака

18.01.2012, 12:19. Показов 14691. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветик. Помогите плиз написать сценарий, который по дате рождения человека определяет знак его зодиака.
Заранее благодарю.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2012, 12:19
Ответы с готовыми решениями:

Ошибка в коде по определению количества прожитых дней и знака зодиака
Здравствуйте. Есть сразу 2 вопроса: Первый - почему функция при вызове через calc(a,b,c) напрочь отказывается видеть переменную a =...

Вывести соответствующий знак зодиака
Пользователь вводит дату рождения в виде строки: день-месяц-год. Ваша задача вывести соответствующий знак зодиака. И все это нужно...

Скрипт, определяющий по введенной дате рождения знак зодиака, день недели, был ли год рождения високосным.
Здравствуйте, ребят буду благодарен если кто напишет, в написанном постараюсь разобраться сам. Скрипт, определяющий по введенной дате...

4
Просто любитель
 Аватар для GuardCat
626 / 464 / 120
Регистрация: 20.01.2011
Сообщений: 865
Записей в блоге: 2
18.01.2012, 17:44
Функция detectSign принимает дату в формате дд.мм.гггг или в формате дд.мм, Причём вместо точек могут быть любые нецифровые разделители в любом количестве. Возвращает функция строку, содержащую название знака зодиака, начинающееся с прописной буквы или сообщение об ошибке, начатое со строчной буквы.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
detectSign = (function() {
    var 
        signs = {
            "Овен":     [new Date("1900/03/21"), new Date("1900/04/20")],
            "Телец":   [new Date("1900/04/21"), new Date("1900/05/20")],
            "Близнецы": [new Date("1900/05/21"), new Date("1900/06/21")],
            "Рак":       [new Date("1900/06/22"), new Date("1900/07/22")],
            "Лев":       [new Date("1900/07/23"), new Date("1900/08/23")],
            "Дева":     [new Date("1900/08/24"), new Date("1900/09/23")],
            "Весы":     [new Date("1900/09/24"), new Date("1900/10/23")],
            "Скорпион": [new Date("1900/10/24"), new Date("1900/11/22")],
            "Стрелец":   [new Date("1900/11/23"), new Date("1900/12/21")],
            "Козерог":   [new Date("1900/12/22"), new Date("1901/01/20")],
            "Водолей":   [new Date("1900/01/21"), new Date("1900/02/20")],
            "Рыбы":     [new Date("1900/02/21"), new Date("1900/03/20")]
        }, x, errString = "не определён, потому что введены неверные данные."
    ;
    function test(date) {
        for (x in signs) {
            if(date >= signs[x][0] && date <= signs[x][1]) {
            return x;
            }
        }
        return errString;
    }
    function normalize(date) {
        date = date.split(/\D+/g);
        if(date.length < 2 || date.length > 3) {
            return false;
        } else if(date.length === 2){
            date.push("1900");
        } else {
            date.splice(2, 1, "1900");
        }
        if(+date[0] >= 1 && +date[0] <=20 && +date[1] === 1) {
            ++date[2]
        }
        date.reverse();
        return date.join("/");
    }
    return function(date) {
        date = normalize(date);
        if(!date){
            return errString;
        }
        date = new Date(date);
        return test(date);
    }
})();
Живой пример.
2
29 / 29 / 1
Регистрация: 13.06.2011
Сообщений: 165
20.01.2012, 12:49  [ТС]
а что нибудь по легче можно, а то я код не могу понять.
пж
0
Просто любитель
 Аватар для GuardCat
626 / 464 / 120
Регистрация: 20.01.2011
Сообщений: 865
Записей в блоге: 2
20.01.2012, 14:04
Да можно вообще в одну строку.
JavaScript
1
alert("Вы родились " + prompt("Введите дату вашего рождения") + " и ваш знак зодиака: " + prompt("Каков ваш знак зодиака?"));
Если серьёзно, то задавайте конкретные вопросы. Что именно не поддаётся пониманию? Если вообще всё, то код на этот случай я привёл.

Добавлено через 17 минут
Есть в сети и более короткие примеры для той же задачи. Вот, например, я сделал живой пример одного решения. Оно поэлегантнее и покороче моего. Код:
HTML5
1
2
3
4
<!DOCTYPE HTML>
<html>
<body>   
<script>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function iHoroscopej() {
    var aTmp = [
        [1, 'iWwWj'],
        [19, 'Козерог (22.12–19.1)'],
        [18, 'Водолей (20.1–18.2)'],
        [20, 'Рыбы (19.2–20.3)'],
        [19, 'Овен (21.3–19.4)'],
        [20, 'Телец (20.4–20.5)'],
        [21, 'Близнецы (21.5–21.6)'],
        [22, 'Рак (22.6–22.7)'],
        [22, 'Лев (23.7–22.8)'],
        [22, 'Дева (23.8–22.9)'],
        [22, 'Весы (23.9–22.10)'],
        [22, 'Скорпион (23.10–22.11)'],
        [21, 'Стрелец (23.11–21.12)']
    ];
    var d = document.getElementById('d').value * 1;
    var m = document.getElementById('m').value * 1;
    if (d < 1 || d > 31) {
        m = 0;
        d = 0;
    }
    if (m < 1 || m > 12) {
        m = 0;
        d = 0;
    }
    if (d > aTmp[m][0]) m += 1;
    if (m > 12) m = 1;
    document.getElementById('h').value = aTmp[m][1];
}
HTML5
1
2
3
4
5
6
7
8
9
10
11
</script>
<table border="1" cellpadding="5" cellspacing="0">
<tr><td>iDayj</td><td><input type="text" id="d" value="0"></td></tr>
<tr><td>iMoonj</td><td><input type="text" id="m" value="0"></td></tr>
<tr><td>iHoroscopej</td><td><input type="text" id="h" value="iWwWj"></td></tr>
<tr><td colspan="2" align="center">
<input type="button" value="iGetj" onclick="javascript:iHoroscopej();">
</td></tr>
</table>
</body>
</html>
Источник: www.ihoroscopej.ru/
1
29 / 29 / 1
Регистрация: 13.06.2011
Сообщений: 165
20.01.2012, 14:52  [ТС]
спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.01.2012, 14:52
Помогаю со студенческими работами здесь

По дате рождения сосчитать знак Зодиака и знак по китайскому гороскопу
По дате рождения сосчитать знак Зодиака и знак по китайскому гороскопу (все в форме). Все условия сама соображу написать, а начало не...

Знак зодиака
Есть таблица с именами людей и их датой рождения. Нужно написать SQL запрос, который должен выводить людей, у которых знак зодиака,...

Знак Зодиака
Срочно дорогие, нужно создать программу, которая при вводе даты рождения выдает знак зодиака и усложнена картинкой или описанием и еще...

Знак зодиака в таблице
Есть столбец с датами формата dd.mm.yyyy нужно чтобы в соседнем столбце было написано, какой знак зодиака соответствует дате рождения....

Вывести знак зодиака
20. Известно, что астрологи делят год на 12 периодов и каждому из них ставят в соответствие один из знаков Зодиака. 20.01 - 18.02 -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru