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

Программа для вычисления количества дней между двумя датами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
SAZZKA
Сообщений: n/a
30.10.2010, 16:42     Программа для вычисления количества дней между двумя датами #1
Добрый день!Ни как не получаеться написать в си программу, которая будет уметь считать дни между двумя заданными датами, без использования циклов...Начиная с 1 .1.1 где до 6.1.1584 каждые четыре года высокосный год, даты сс 7-16.1.1584 года не существует, а с 17.1.1584 года кажды 4 год высокосный, кроме тех которые деляться на 100 но все которые деляться на 400 являються высокосными.Хотя бы общий путь решения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2010, 16:42     Программа для вычисления количества дней между двумя датами
Посмотрите здесь:

C++, вычисление количества дней между датами C++
Реализовать функцию вычисления количества дней между двумя датами. C++
Рассчитать количество дней, прошедших между двумя датами C++
C++ Определить число дней между двумя известными датами. Если вторая дата предшествует первой, то результат отрицательный
C++ Вывести разницу дней между двумя датами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
30.10.2010, 17:35     Программа для вычисления количества дней между двумя датами #2
Программка переводит грегорианскую дату в юлианский день
с учетом всех прибамбасов. Нулевого года нет (т.е. система ИСТОРИЧЕСКАЯ
в отличии от АСТРОНОМИЧЕСКОЙ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
double TtoJ(int d, int m, int y)  /* TIME -> jul */
{  double t;  int a;
 
      if (y<0) y++;
      if (m<3)  { m+=12;y-=1;}
      t = floor(DvY*y) + floor(30.6001*(m+1)) + d + 1720994.5;
      t += (dt[3] + dt[4]/C60 + dt[5]/C3600) / C24;
      if (y + m/100.0 + d/10000 >= 1582.1015) {
        a = floor(y/100.0);
        t += 2.0 - a + floor(a/4.0);
      }
      return(t);
}
deeflash
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 144
15.11.2010, 11:00     Программа для вычисления количества дней между двумя датами #3
а можно сюда кучу комментариев добавить? а то я больше половины не понимаю
deeflash
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 144
23.12.2010, 09:20     Программа для вычисления количества дней между двумя датами #4
у меня пишет крах иострим.....

можно расписать подробней?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
double TtoJ(int day, int month, int year)  /*тоже строчка непонятна..*/
{  double t;  int a;
 
      if (year<0) year++;
      if (month<3)  { month+=12;year-=1;}
      t = floor(DvY*year) + floor(30.6001*(month+1)) + day + 1720994.5; //floor(DvY*year), что это?
      t += (dt[3] + dt[4]/C60 + dt[5]/C3600) / C24;                    //???
      if (year + month/100.0 + day/10000 >= 1582.1015) {
        a = floor(year/100.0);  //???
        t += 2.0 - a + floor(a/4.0);  //???
      }
      return(t);
}
Добавлено через 16 минут
помогите плз, есть переменные: day1, month1, year1
как этот код что сверху вставить в программу? так как тут с переименованием переменных много на что ругается..
deeflash
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 144
24.12.2010, 14:25     Программа для вычисления количества дней между двумя датами #5
сам не могу осилить, половина непонятна..
Yandex
Объявления
24.12.2010, 14:25     Программа для вычисления количества дней между двумя датами
Ответ Создать тему
Опции темы

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