У вас вопросы?
У нас ответы:) SamZan.net

clss Dte {Класс дат int dmy; День месяц год public- Открытые члены класса void Ini

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.4.2025

38(181). class Date{    //Класс дат

  int d,m,y;              //День, месяц, год

public:       //Открытые члены класса

  void Init_Date(int dd,int mm,int yy)   //Инициализация даты

  {d=dd; m=mm; y=yy;}

  void Print();       //Функция печати

  int DayOfYear();    //Вычисление номера дня в году

  long Raznica(Date D2);   //Вычисление разницы между двумя датами

};

#include<iostream.h>

void Date::Print()        //Определение функции печати

 {cout<<d<<'.'<<m<<'.'<<y;}

int leap(int year)   //Определение високосности года

{return(year%4==0&&year%100!=0)||year%400==0;

}

char daytab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},

   {0,31,29,31,30,31,30,31,31,30,31,30,31}}; //Массив дней

   //в месяцах для висикостного и невисокостного года

int Date::DayOfYear()   //Вычисление номера дня в году

      {

 int days=d;

 int lp=leap(y);

 for(int i=1;i<m;i++)

 days+=daytab[lp][i];   //Суммируем все дни которые прошли с начала года до заданной даты

 return days;

}

long Date::Raznica(Date D2)  //Вычисление разницы между двумя   //датами

{        if(y!=D2.y)

 { long days=365+leap(y)-DayOfYear();

  for(int i=y+1;i<D2.y;i++)

     days+=365+leap(i);

  days+=D2.DayOfYear();  

  return days;

 }

 else return D2.DayOfYear()-DayOfYear();

}

#include<conio.h>

 int main()

  {    clrscr();       //Чистка экрана

   Date D1,D2;

   int dd,mm,yy,dd1,mm1,yy1,dd2,mm2,yy2;

   cout<<"vvedite 1 daty dd,mm,yy\n"; //Вывод на экран

      cin>>dd>>mm>>yy;     //Ввод с клавиатуры

   if(dd>31||mm>12)   //Проверка существования даты

      {cout<<"takoe nevozmojno";

      return 1;      //Завершение программы

   }

   D1.Init_Date(dd,mm,yy); D1.Print(); cout<<endl;    //Инициализация первой даты

   cout<<"vvedite 2 daty dd,mm,yy\n";   //Вывод на экран

   cin>>dd1>>mm1>>yy1; //Ввод с клавиатуры

   if(dd1>31||mm1>12)      //Проверка существования даты

{cout<<"takoe nevozmojno";            //Вывод на экран

 return 1;    //Завершение программы

   }

   D2.Init_Date(dd1,mm1,yy1);  //Инициализация второй даты

   D2.Print();

   cout<<"Eto " <<D2.DayOfYear()<<"den goda";

   cout<<endl;

   cout<<D1.Raznica(D2);

   getch();     //Ждём нажатия любой клавиши

   return 0;

 }




1.  Проверка отсутствия напряжения на отключенной для производства работ части электроустановки должна быть
2. тема Общественные отношения
3. тема отношений теневых финансов
4. Маркетинг услуг ресторана
5. Петрография как наука
6. КОНТРОЛЬНА РОБОТА З ОРГАНІЧНОЇ ХІМІЇ назва дисципліни для студентів 6
7. Цель работы ~ определение способа увеличения пропускной способности каналов подходящего для
8. Тиеу-т~сіру ж~мыстарыны~ ж~не ~ойма операцияларыны~ кешенді механизациясы ж~не автоматизациясы.html
9. Статья- Банковский счет- безналичные расчеты
10. ~ b2 2 ~ 2b b2 Квадрат разности двух чисел равен квадрату первого ч