Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/163: Рейтинг темы: голосов - 163, средняя оценка - 4.67
123 / 123 / 70
Регистрация: 15.11.2014
Сообщений: 544

Определение високосного года

15.11.2015, 02:47. Показов 33084. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня.
Не могу понять, как определить високосный год в программе. С помощью метода IsLeapYear. Помогите
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 private void timer1_Tick(object sender, EventArgs e)
        {
           
            DateTime a;
            a = DateTime.Now;
            int days = new DateTime(DateTime.Now.Year, 12, 31).DayOfYear - DateTime.Now.DayOfYear; // сколько дней осталось до нового года
         //   DateTime.IsLeapYear(a % 4 == 0 && a % 100 != 0 || a % 400 == 0); // 
            label1.Text = "Текущее время: " + a.ToLongTimeString(); //
            label2.Text = "Текущая дата: " + a.ToLongDateString();  //
            label5.Text = "Дней до нового года осталось: " + days;
        }
    }
}
Добавлено через 19 минут
Является ли год високосным или не является
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.11.2015, 02:47
Ответы с готовыми решениями:

Определение високосного года
#include <iostream> using namespace std; bool isLeapYear(unsigned int year) { if (year % 4 == 0 && year % 100 != 0 ||...

Определить, каким днем недели является k-й день не високосного года
Дано целое число k (1 < k < 365). Определить, каким днем недели является k день не високосного года, в котором первое января - понедельник....

Даны два целых числа: D день и M месяц,определить правильную дату не високосного года.Вывести значение D и M
Использовать операторы выбора. Даны два целых числа: D (день) и M (месяц),определить правильную дату не високосного года.Вывести значение...

10
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
15.11.2015, 03:00
Все намного проще. Есть операция деления с остатком

Например, в текстбох ввели год, тогда

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
Forms Code
{
       private void button1_Click(object sender, EventArgs e)
       {
           int n, t;
            n = int.Parse(textBox1.Text);
              t = (n % 4);
               if(t == 0)
                 textBox1.Text = "Год високосный";
               else
                  textBox1.Text = "Год не високосный";
       }
}
0
123 / 123 / 70
Регистрация: 15.11.2014
Сообщений: 544
15.11.2015, 03:08  [ТС]
Мне нужно чтобы сразу выводило, текущую дату(дату биоса), без ввода года в текстбокс. через DateTime.Now
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
15.11.2015, 03:46
Лучший ответ Сообщение было отмечено илья9696 как решение

Решение

илья9696,
C#
1
2
3
4
5
6
7
8
if (DateTime.IsLeapYear(DateTime.Now.Year))
{
    // Високосный
}
else
{
    // Не високосный
}
1
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
15.11.2015, 10:34
Цитата Сообщение от zna926 Посмотреть сообщение
C#
1
t = (n % 4);
Если писать проверку руками, то нужна ещё проверка на делимость на 100 и на 400
год является високосным в двух случаях: либо он кратен 4, но при этом не кратен 100, либо кратен 400.
В .NET так и сделано
C#
1
return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
0
123 / 123 / 70
Регистрация: 15.11.2014
Сообщений: 544
15.11.2015, 14:16  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 {
            DateTime a;
            a = DateTime.Now;
            
            int days = new DateTime(DateTime.Now.Year, 12, 31).DayOfYear - DateTime.Now.DayOfYear; // сколько дней осталось до нового года
            
            if (DateTime.IsLeapYear(DateTime.Now.Year))
            {
                label4.Text = "Год високосный";
 
            }
            else
            {
                label3.Text = "Год не високосный";
            }
 
            label1.Text = "Текущее время: " + a.ToLongTimeString(); //
            label2.Text = "Текущая дата: " + a.ToLongDateString();  //
            label5.Text = "Дней до нового года осталось: " + days;       
        }
    }
}
Вот куда мне писать проверку? Я вообще правильно понял условие #4 поста?
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
15.11.2015, 15:02
Вывод информации и високосном и невисокосном годе почему-то в разные лейблы
C#
1
2
3
4
5
6
7
8
9
DateTime now = DateTime.Now;
int days = new DateTime(now.Year, 12, 31).DayOfYear - now.DayOfYear;
if (DateTime.IsLeapYear(now.Year))
    label3.Text = "Год високосный";
else
    label3.Text = "Год не високосный";
label1.Text = "Текущее время: " + now.ToLongTimeString();
label2.Text = "Текущая дата: " + now.ToLongDateString();
label5.Text = "Дней до нового года осталось: " + days;
0
123 / 123 / 70
Регистрация: 15.11.2014
Сообщений: 544
15.11.2015, 15:13  [ТС]
Ну в принципе можно и в разные. Значит это правильно сделал. Но вопрос, проверку на кратность не нужно что ли выполнять теперь? Зачем она тогда указана у меня в задании?
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
15.11.2015, 15:16
илья9696, не нужно. IsLeapYear() всё сам проверяет, вторая такая проверка будет излишней.

Добавлено через 1 минуту
Цитата Сообщение от илья9696 Посмотреть сообщение
Зачем она тогда указана у меня в задании?
А где оно, задание это? В первом посте об этом не упоминается.
0
123 / 123 / 70
Регистрация: 15.11.2014
Сообщений: 544
15.11.2015, 15:24  [ТС]
Проект выводит полную текущую дату, определяет, является ли год високосным и вычисляет, сколько дней осталось до нового года. Високосным является год, значение которого кратно 4, кроме тех годов, которые делятся на 100, но не делятся на 400.

Добавлено через 41 секунду
Вот задание, ну просто я все сделал кроме високосного года, и посчитал что его не обязательно писать

Добавлено через 5 минут
То есть я так понял, если мы не знаем метод IsLeapYear(), то для нас один путь через проверку
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
15.11.2015, 15:37
Цитата Сообщение от илья9696 Посмотреть сообщение
если мы не знаем метод IsLeapYear(), то для нас один путь через проверку
Вполне логично. Хотя есть ещё один путь - нагуглить такой метод
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.11.2015, 15:37
Помогаю со студенческими работами здесь

Определение столетия по номеру года
Дан номер некоторого года(целое положительное число). Определить соответствующий ему номер столетия, учитывая, что, к примеру, началом 20...

Определение названия года по японскому календарю
Помогите написать программу в C#. 2)В японском календаре годы носят названия животных и составляют 12-летний цикл (крысы, коровы, тигра,...

Перевод кода из Pascal в C# (работа с файлом, определение наименьшего года)
Здравствуйте, помогите пожалуйста перевести код в C# uses crt; var f:text; nf,ng,s,s1:string; t,c,mn:integer; begin ...

Определение високосного года
Помогите, пожалуйста, не могу понять в чем ошибка. Почему компилятор "ругается"... #include <iostream> using namespace...

Определение високосного года
<html> <body> <script> var a=prompt('Введите год:', ''); if ((a mod 100=0) && (a mod 400 != 0)) { ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru