Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 02.12.2016
Сообщений: 5
1

Определение дня недели по дате

04.12.2016, 21:49. Показов 2742. Ответов 2
Метки нет (Все метки)

Помогите найти ошибку. Работает, но не корректно. Определяет не тот день.

#include<stdio.h>
#include<iostream>
void main()
{
setlocale(LC_ALL, "Russian");
int day, month, year;
int c, y, m, d;
printf("\nОПРЕДЕЛЕНИЕ ДНЯ НЕДЕЛИ ПО ДАТЕ");
printf(" ВВЕДИТЕ ДАТУ: dd mm gggg");
printf("->");
scanf_s("%i %i %i", &day, &month, &year);
if ((month == 1) && (month == 2))
year++;
m = month - 2;
if (m <= 0) m == 12;
c = year / 100;
y = year - c * 100;
d = (day + (13 * m - 1) / 5 + y + y / 4 + c / 4 - 2 * c + 777) % 7;
switch (d)
{
case 1: puts("Понедельник"); break;
case 2: puts("Вторник"); break;
case 3: puts("Среда"); break;
case 4: puts("Четверг"); break;
case 5: puts("Пятница"); break;
case 6: puts("Суббота"); break;
case 0: puts("Воскресенье"); break;
}
system("pause");
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2016, 21:49
Ответы с готовыми решениями:

Определение дня недели по дате
Помогите исправить, неправильно находит день недели. int date_day::true_day() const { ...

Определение дня недели по введенной дате
Доброго времени суток! Программу я составил, вводишь день,месяц и год, и день недели она выдаёт. Но...

Вычисление дня недели по дате
здравствуйте. как можно вычислить день недели по дате? слышала про формулу Зеллера, но там мало...

Алгоритм вычисления дня недели по дате
Посдкажите алгоритм вычисления дня недели по дате( день, месяц, год). int a = (14 - month)/12;...

2
6968 / 6013 / 2731
Регистрация: 14.04.2014
Сообщений: 25,717
04.12.2016, 23:00 2
Лучший ответ Сообщение было отмечено TianaSuprposthn как решение

Решение

Для григорианского календаря.
C++
1
2
3
4
5
6
7
8
if (month < 3)
{
    --year;
    m = month + 12;
}
else m = month;
y = year / 100;
d = (day + (13 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
Дни нумеруются с нуля (суббота).
1
3170 / 1929 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.12.2016, 23:46 3
Zeller's congruence
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2016, 23:46

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Расчет дня недели по дате, исправьте ошибки
Программа должна считать день недели по дате, использую по заданию какую то римскую формулу. ...

Написать программу, которая запрашивает у пользователя номер дня недели, затем выводит название дня недели
Написать программу, которая запрашивает у пользователя номер дня недели, затем выводит название дня...

Написать программу, которая по номеру дня недели (целому числу от 1 до 7) выдает в качестве результата название дня недели
!!!!!

Определить номер дня недели для заданного номера дня года
а как это примерно будет на C++ ?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.