Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 02.09.2015
Сообщений: 17

Определить, является ли год високосным

21.10.2015, 20:39. Показов 2506. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот вроде бы и все просто, но никак не выходит одна проверка, на високосный год.

А именно, есть 2 текстовых поля и 1 комбобокс, нужно сделать так, чтобы при выборе февраля и введенном году например 2016 можно было вводить в поле day от 1-29, а при введенном году 2017 только от 1-28...

VB.NET
1
2
3
4
5
6
7
Public Function checking7(textfield As Integer) As Boolean
        ' *********** Проверка для февраля месяца, если высокос тогда февраль до 28, иначе до 29***************
        If Form1.ComboBox1.SelectedItem(1) And Form1.s_year.Text \ 4 And Form1.s_bday.Text Like "[1-29]" Then
            Return True
        Else
            MsgBox("В феврале высокостного года, может быть только 29 дней")
        End If
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public Function chec2(text As String)
            Dim y As Integer
            Dim i As Integer
            Dim c As String
            c = Form1.ComboBox1.SelectedText
           i = Form1.s_bday.Text
            y = Form1.s_year.Text
           If i = 29 And y / 4 And c = "Февраль" Then
                Return i
            Else
                MsgBox("В феврале високосного года не может быть 29 дней!", vbCritical, "Error")
               chec2 = False
            End If
 
        End Function
вот некоторые мучения, но все не работает, из за клац-клац моих.

нуждаюсь в переделке.

p.s. ах, да. и вызывать её где надо будет на батон.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2015, 20:39
Ответы с готовыми решениями:

Определить, является ли год високосным
подскажите как делать напишите программу, которая выполяет следующие действия: 1) с помощью диалогового окна вводит значение года. ...

Определить, является ли год N високосным
Сделать программу на Visual Basic в виде Console Application: Дано натуральное число n-год рождения. Определить, является ли этот год...

Определить, является ли год високосным
Доброго времени суток всем! Помогите, пожалуйста, сделать такую задачку: Определите по номеру года, является или нет этот год високосным....

13
 Аватар для _Лёша_
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
21.10.2015, 20:54
Определить, является ли год N високосным
1
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
21.10.2015, 21:11
Если быть точнее, то
VB.NET
1
MsgBox(Date.IsLeapYear(Now.Year))
(пост 5 той темф, что указал _Лёша_)

А то есть вероятность наскочить на велосипеды, что там разъезжают
2
0 / 0 / 0
Регистрация: 02.09.2015
Сообщений: 17
21.10.2015, 21:21  [ТС]
Ага, т.е. мне нужно будет сделать так:

VB.NET
1
2
3
4
5
If Form1.s_bday.Text Like "[1-29]" And Form1.ComboBox1.SelectedItem(1) And Date.IsLeapYear(Form1.s_year.Text) Then
            checking7 = True
        Else
            checking7 = False
end if
Чтобы при введенном числе 29 и выбранном феврале месяце, ... блин, что-то я сам не понимаю что пишу.

Если введено 29 и выбран месяц февраль, и год високосный, тогда возвращает правду.
иначе
ложь.
Или как лучше будет?

ps что такое? Object variable or With block variable not set.
0
 Аватар для _Лёша_
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
21.10.2015, 21:39
на форме button1, label1 и DateTimePicker1
VB.NET
1
2
3
4
5
6
7
    Sub Button1Click(sender As Object, e As EventArgs)
        If Date.IsLeapYear(DateTimePicker1.Value.Year) Then
            label1.Text = "Високосный"
        Else
            label1.Text = "Невисокосный"
        End If
    End Sub
0
0 / 0 / 0
Регистрация: 02.09.2015
Сообщений: 17
22.10.2015, 00:20  [ТС]
Попробую перефразировать свой вопрос. Вообщем нужно

запретить ввод чисел 29 - больше, если выбран февраль и год не високосный,
запретить ввод чисел 28 - больше, если выбран февраль и год високосный.

Буду заранее благодарен.
0
 Аватар для _Лёша_
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
22.10.2015, 06:18
Max D, Запретить ввод куда???
0
27 / 27 / 9
Регистрация: 19.08.2014
Сообщений: 77
22.10.2015, 09:13
Цитата Сообщение от Max D Посмотреть сообщение
запретить ввод чисел 29 - больше, если выбран февраль и год не високосный,
запретить ввод чисел 28 - больше, если выбран февраль и год високосный.
Если вопрос стоит так, то приведенный выше код можно переделать так:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
        Dim y As Integer
        Dim i As Integer
        Dim c As String
        c = ComboBox1.SelectedItem 'Здесь не SelectedText
        i = s_bday.Text
        y = s_year.Text
 
        If Date.IsLeapYear(y) And c = "Февраль" And i > 28 Then
            MsgBox("В феврале високосного года не может быть больше 28 дней!", vbCritical, "Error")
        ElseIf c = "Февраль" And i > 29 Then
            MsgBox("В феврале не високосного года не может быть больше 29 дней!", vbCritical, "Error")
        End If
Но, тут надо учитывать, что при таком подходе надо дополнительно проверять правильность ввода других данных. То есть в каком-то месяце максимум 30 дней, в каком-то 31. День и год надо вводить цифрами, а не буквами, т.е. "5", а не "пятое". Будет возникать ошибка, если какое-то поле пустое.

Самое простое решение - взять элемент DateTimePicker и дату выбирать с помощью него, а не городить огород.
2
 Аватар для XIST
1960 / 1061 / 148
Регистрация: 01.10.2009
Сообщений: 3,584
Записей в блоге: 1
22.10.2015, 17:23
Цитата Сообщение от TigerHawk Посмотреть сообщение
Самое простое решение - взять элемент DateTimePicker и дату выбирать с помощью него, а не городить огород.
А когда препод (что в 95% случаев) скажет, описать это машинным кодом, а не используя готовые (не вами) контролы ?
0
 Аватар для _Лёша_
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
22.10.2015, 17:35
XIST, дак текстбоксы и т.д.тоже не нами писаны.
0
 Аватар для XIST
1960 / 1061 / 148
Регистрация: 01.10.2009
Сообщений: 3,584
Записей в блоге: 1
22.10.2015, 17:48
Цитата Сообщение от _Лёша_ Посмотреть сообщение
XIST, дак текстбоксы и т.д.тоже не нами писаны.
Правильно, поэтому многие и требуют в консоли, где все описывается
1
 Аватар для _Лёша_
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
22.10.2015, 17:54
XIST, Автор начел писать код с использованием listbox, но DateTimePicker здесь правильнее использовать будет. Объяснять все равно придется.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,255
Записей в блоге: 4
22.10.2015, 22:56
Цитата Сообщение от XIST Посмотреть сообщение
Правильно, поэтому многие и требуют в консоли, где все описывается
Консоль тоже не вами писана. Напишите операционку, потом консоль.
0
27 / 27 / 9
Регистрация: 19.08.2014
Сообщений: 77
23.10.2015, 08:28
Цитата Сообщение от XIST Посмотреть сообщение
А когда препод (что в 95% случаев) скажет, описать это машинным кодом, а не используя готовые (не вами) контролы ?
При чем тут препод? Если у автора вопроса стоит задача использовать именно текстбоксы и комбобокс, то я привел пример решения задачи с ними. Это если вдруг суровый препод будет оценивать решение. А если автор делает что-то для себя, то логичнее использовать более подходящие элементы для поставленной задачи. Что опять же только совет, а не указания к действию. Каким путем идти автор сам решит.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2015, 08:28
Помогаю со студенческими работами здесь

Определить является ли год високосным
Пользователь вводит год, определить является ли он високосным (год является високосным в двух случаях: либо он кратен 4, но при этом не...

Определить, является ли год високосным
Помогите найти ошибку. Не считает какой-то год.В первую строку вывести YES если год с номером N является высокосным и NO в противном...

Определить, является ли год високосным
Требуется определить, является ли данный год високосным. (Напомним, что год является високосным, если его номер кратен 4, но не кратен 100,...

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

Определить, является ли год високосным
Помогите пожалуйста))) очень нужно) Написать программу, которая проверяет, является ли год високосным. Ниже приведен рекомендуемый вид...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru