Форум программистов, компьютерный форум CyberForum.ru

Определить день недели на который приходится заданная дата - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
prikolist08
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 4
23.10.2013, 10:58     Определить день недели на который приходится заданная дата #1
Здесь d - число месяца, т - номер месяца, если начинать счет с марта, как это делали в Древнем Риме (март - 1, апрель - 2, ..., февраль - 12), Y - номер года в столетии, с - количество столетий. Квадратные скобки означают, что надо взять целую часть от значения, находящегося в скобках. Вычисленное по формуле значение определяет день недели: 1 - понедельник, 2 - вторник, ..., 6 - суббота, 0 - воскресенье.
http://kafitimpi.sfedu.ru/stud_mater...img6266750.JPG

C
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
#include<stdio.h>
#include<iostream.h>
void main()
{
int day,month,year;
int c,y,m,d;
printf("\nopredelenie dnya nedely po date");
printf("vvedite daty: dd mm gggg");
printf("->");
scanf("%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("Ponedel'nik"); break;
case 2: puts("Vtornik"); break;
case 3: puts("Sreda"); break;
case 4: puts("Chetveg"); break;
case 5: puts("Pyatnica"); break;
case 6: puts("Sybbota"); break;
case 0: puts("Voskresenie"); break;}
}
вот программа но она не работает для високосного года например вводим 29.02.2004 то он выводит вторник хотя на самом деле это воскресение
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2013, 10:58     Определить день недели на который приходится заданная дата
Посмотрите здесь:

C++ программа которая по дате находит день недели на который эта дата приходится
Дата и день недели C++
C++ Как в программе определить день недели?
C++ считая что год не высокосный и известен день, на который приходится 1 января, подсчитать количество понедельников в году приходящихся на 13-е число
Определить день недели с датой D и M, если W - день недели первого января C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
23.10.2013, 11:06     Определить день недели на который приходится заданная дата #2
Ну я в эту формулу все подставил вручную, у меня тоже вторник получился.
http://www.wolframalpha.com/input/?i...0%2B777%29mod7
prikolist08
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 4
23.10.2013, 11:15  [ТС]     Определить день недели на который приходится заданная дата #3
нужно как то доработать что бы високосный год считал тоже
Nelo_001
0 / 2 / 2
Регистрация: 31.10.2013
Сообщений: 167
16.02.2016, 17:41     Определить день недели на который приходится заданная дата #4
Ввод через американский стандарт !
2016 02 16
HTML5
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
<html>
<head>
<script type="text/javascript">
function time()
{
var a=prompt("","","");
var d=new Date(a);
 
var day=d.getDate();
var mounth=d.getMonth()+1;
var year=d.getFullYear();
 
 
var wday=new Array(7);
wday[0]="Воскресенье";
wday[1]="Понедельник";
wday[2]="Вторник";
wday[3]="Среда";
wday[4]="Четверг";
wday[5]="Пятница";
wday[6]="Суббота";
 
document.write(day + "." + mounth + "." + year);
var day_d = d.getDay();
alert (wday[day_d]);
}
</script>
</head>
<body>
 
<body onload="time()">
</html>
gru74ik
Модератор
 Аватар для gru74ik
3120 / 1346 / 167
Регистрация: 20.02.2013
Сообщений: 3,837
Записей в блоге: 17
16.02.2016, 18:24     Определить день недели на который приходится заданная дата #5
Nelo_001, уважаемый, Вы либо разделом ошиблись, либо языком программирования. Вам так не кажется?
Yandex
Объявления
16.02.2016, 18:24     Определить день недели на который приходится заданная дата
Ответ Создать тему
Опции темы

Текущее время: 09:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru