Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 27.03.2020
Сообщений: 92

Определить знак зодиака

24.11.2020, 12:52. Показов 4678. Ответов 3
Метки html, js (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть скрипт определяющий знак зодиака(через case of), проблема заключается в том, что у меня не получается вывеси "неправильный месяц" (если вводят например 31 февраля). Как мне это исправить?

PHP/HTML
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<!DOCTYPE HTML>
<html>
    <head>
        
        <title>Знаки зодиака</title>
        
    </head>
    
    <body>
        
        <style>
           body {
    background: #333; /* Цвет фона */
   }
   .b1{
     background: navy;
     color: white;
   }
   .b2{
     background: yellow;
     color: black;
   } 
 
        </style>
<div style="text-align: center;">
<H1 style="color:#00ff00">Знаки зодиака</H1>
</div>
        
<script language="JavaScript" >
 
function znak(){
    var den = +document.getElementById("day").options.selectedIndex;
    var month = +document.getElementById("month").options.selectedIndex;
    var value = "";
switch (month) {
    case 1:
        if (den <= 19)
            value = "Козерог";
        else
            value = "Водолей";
        break;
    case 2:
        if (den <= 18)
            value = 'Водолей';
        else
            value = 'Рыбы';
        break;
    case 3:
        if (den <= 20)
            value = 'Рыбы';
        else
            value = 'Овен';
        break;
    case 4:
        if (den <= 19)
            value = 'Овен';
        else
            value = 'Телец';
        break;
    case 5:
        if (den <= 20)
            value = 'Телец';
        else
            value = 'Близнецы';
        break;
    case 6:
        if (den <= 21)
            value = 'Близнецы';
        else
            value = 'Рак';
        break;
    case 7:
        if (den <= 22)
            value = 'Рак';
        else
            value = 'Лев';
        break;
    case 8:
        if (den <= 22)
            value = 'Лев';
        else
            value = 'Дева';
        break;
    case 9:
        if (den <= 22)
            value = 'Дева';
        else
            value = 'Весы';
        break;
    case 10:
        if (den <= 22)
            value = 'Весы';
        else
            value = 'Скорпион';
        break;
    case 11:
        if (den <= 22)
            value = 'Скорпион';
        else
            value = 'Стрелец';
        break;
    case 12:
        if (den <= 21)
            value = 'Стрелец';
        else
            value = 'Козерог';
        break;
    default:
          value = 'Неправильные данные'
 
}
 
document.getElementById('znak').value = value;
}
 
 
    
</script>
        
    <select name="month" id="month">
<option value="0">&nbsp;</option>
<option value="1">Январь</option>
<option value="2">Февраль</option>
<option value="3">Март</option>
<option value="4">Апрель</option>
<option value="5">Май</option>
<option value="6">Июнь</option>
<option value="7">Июль</option>
<option value="8">Август</option>
<option value="9">Сентябрь</option>
<option value="10">Октябрь</option>
<option value="11">Ноябрь</option>
<option value="12">Декабрь</option>
</select>
 
<select name="day" id="day">
<option value="0">&nbsp;</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
 
 
    <button onclick="znak()" class="b1">Определить знак зодиака</button>
    <input type="text" class="b2" id="znak" size=10 value="">
    </body>
</html>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.11.2020, 12:52
Ответы с готовыми решениями:

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

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

знак зодиака
Приветик. Помогите плиз написать сценарий, который по дате рождения человека определяет знак его зодиака. Заранее благодарю.

3
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
24.11.2020, 13:15
Лучший ответ Сообщение было отмечено amr-now как решение

Решение

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
document.querySelector(".b1").onclick = b1_click;
 
function b1_click() {
    var den = +document.getElementById("day").options.selectedIndex;
    var month = +document.getElementById("month").options.selectedIndex;
    let date = new Date(2000, month - 1, den); 
    if (date.getMonth() + 1 !== month || date.getDate() !== den) { alert("Некорректное сочетание дня и месяца!"); return; }
 
    document.getElementById('znak').value = znak(den, month);
}
 
function znak(den, month) {
    var value = "";
switch (month) {
    case 1:
        if (den <= 19)
            value = "Козерог";
        else
            value = "Водолей";
        break;
    case 2:
        if (den <= 18)
            value = 'Водолей';
        else
            value = 'Рыбы';
        break;
    case 3:
        if (den <= 20)
            value = 'Рыбы';
        else
            value = 'Овен';
        break;
    case 4:
        if (den <= 19)
            value = 'Овен';
        else
            value = 'Телец';
        break;
    case 5:
        if (den <= 20)
            value = 'Телец';
        else
            value = 'Близнецы';
        break;
    case 6:
        if (den <= 21)
            value = 'Близнецы';
        else
            value = 'Рак';
        break;
    case 7:
        if (den <= 22)
            value = 'Рак';
        else
            value = 'Лев';
        break;
    case 8:
        if (den <= 22)
            value = 'Лев';
        else
            value = 'Дева';
        break;
    case 9:
        if (den <= 22)
            value = 'Дева';
        else
            value = 'Весы';
        break;
    case 10:
        if (den <= 22)
            value = 'Весы';
        else
            value = 'Скорпион';
        break;
    case 11:
        if (den <= 22)
            value = 'Скорпион';
        else
            value = 'Стрелец';
        break;
    case 12:
        if (den <= 21)
            value = 'Стрелец';
        else
            value = 'Козерог';
        break;
    default:
          value = 'Неправильные данные'
}
return value;
}
Добавлено через 3 минуты
-----
Насколько помню, у Select можно сразу смотреть value
JavaScript
1
var den = +document.getElementById("day").value;
1
0 / 0 / 0
Регистрация: 27.03.2020
Сообщений: 92
29.11.2020, 18:28  [ТС]
amr-now, а как можно сделать так, чтобы в зависимости от месяца выбиралось в другом селекте допустимое кол-во дней. Т.е если в 1ом списке выбираем февраль то второй список должен появится только до 28 дней и тому подобное
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
01.12.2020, 08:37
Цитата Сообщение от ELRlCK Посмотреть сообщение
как можно сделать так, чтобы в зависимости от месяца выбиралось в другом селекте допустимое кол-во дней.
Для двух связанных селектов ответ здесь: Знаки зодиака
Есть нюанс - в России распространены два варианта диапазонов дат у знаков зодиака.
Так что при необходимости можно диапазоны дат подправить под себя.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2020, 08:37
Помогаю со студенческими работами здесь

Определить знак зодиака по дате
Введите число и месяц рождения. Определить, под каким знаком зодиака рожден человек в этот день. (Считается, что каждый знак зодиака...

По дате рождения определить знак зодиака
program znak; uses crt; var m,d:byte; begin clrscr; writeln('Введите дату рождения(пример 12 &lt;Enter&gt; 02) '); readln(d,m); ...

По дате рождения определить знак Зодиака
По введенному Вами дню и месяцу рождения вывести на экран сообщение о Вашем знаке зодиака. Овен 21 марта - 20 апреля Телец 21 апреля -...

По введенной дате определить знак Зодиака
1. Cоздайте Windows-приложение, которое по введенной дате определяет знак Зодиака. Помогите пожалуйста с кодом.

Гороскоп: определить знак Зодиака по дате
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru