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

Как вычислить интервал между двумя датами в структуре? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
Owen04
 Аватар для Owen04
5 / 5 / 3
Регистрация: 25.12.2009
Сообщений: 144
13.03.2010, 20:18     Как вычислить интервал между двумя датами в структуре? #1
Borland C++

Вот задание: дана структура с полями число, месяц и год! Нужно составить и протестировать функцию которая вычисляет интервал(в днях) прошедший между двумя датами!

Подскажите как именно происходит вычисление интервала!!!!!

Добавлено через 53 минуты
Вот, что то есть, но разобраться не могу!

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
struct tim
 {
  int day;
  int month;
  int year;
 };
 
void inter(tim *t,tim temp,int k);
 
void main()
 {
  
  tim *t,temp;
 
  int i,n=1,k;
  t=(tim; )calloc(n,sizeof(tim));
  clrscr();
 
  for(i=1;i<=n;i++)
   {
    cout<<"Enter day:";cin>>t[i].day;
    cout<<"Enter month:";cin>>t[i].month;
    cout<<"Enter year";cin>>t[i].year;
   }
 
           i=1;
   cout<<"\nChoose your time :\n";
   cout<<"["<<i<<";"<<n<<"]";
   cin>>k;
 
   cout<<"\nYour date: "<<t[k].day<<" "<<t[k].month<<" "<<t[k].year;
   cout<<"\nEnter deadline date:";
   cout<<"\nEnter day:";cin>>temp.day;
   cout<<"\nEnter month:";cin>>temp.month;
   cout<<"\nEnter year:";cin>>temp.year;
   
   inter(t,temp,k);
   getch();
   delete(t);
   }
  
void inter(tim *t,tim temp,int k)
 {
  int j,maxday=30;
  for(j=1;j<=7;j++)
   {
    if(t[k].month == j)
     {
      if(t[k].month % 2)
       {
        maxday = 31;
       }
      if(t[k].month == 2)
       {
        maxday = 28;
       }
      cout<<"\nMAX DAY = "<<maxday;
     }
   }
   for(j=8;j<=12;j++)
    {
     if(t[k].month == j)
      {
       maxday = 31;
       if(t[k].month % 2)
        {
         maxday = 30;
        }
       cout<<"\MAX DAY = "<<maxday;
      }
    }
        int interval=0;   
   interval = temp.day + maxday - t[k].day;
   cout<<"\nInterval =";interval;
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2010, 20:18     Как вычислить интервал между двумя датами в структуре?
Посмотрите здесь:

Интервал между датами в структуре! C++
находится ли дата между двумя другими датами C++
C++ Вычисление разности между двумя датами (Turbo C)
интервал между датами C++
Вычислить разницу в днях между двумя заданными датами C++
C++ Вывести разницу дней между двумя датами
Вычислить разницу между двумя датами C++
Посчитать количество дней между двумя датами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1561 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,896
Завершенные тесты: 1
14.03.2010, 10:47     Как вычислить интервал между двумя датами в структуре? #2
Простейший подход - вычислить для каждой даты некую линейную меру (например, преобразовывать дату в количество дней, прошедшее с определённого момента) и сравнивать/вычитать уже их. См. юлианскую дату (Julian Date).
Owen04
 Аватар для Owen04
5 / 5 / 3
Регистрация: 25.12.2009
Сообщений: 144
14.03.2010, 21:54  [ТС]     Как вычислить интервал между двумя датами в структуре? #3
ясн...
Yandex
Объявления
14.03.2010, 21:54     Как вычислить интервал между двумя датами в структуре?
Ответ Создать тему
Опции темы

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