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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 30.6.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. педагогическое исследование и методы.html
4. Вариант Ф
5. і Яка організація зобов~язана розслідувати скласти акт за формою Н1 та взяти на облік цей нещасний випад
6. Скотт Роберт Фолкон
7. Мои виджеты те человек может добавить на свою страницы виджет погоды или пробок и другие
8. К урокам иракского кризиса 2003 года
9. на тему- Финансы организаций реального сектора экономики Студентка
10. Введение Одним из важнейших направлений деятельности социального работника в условиях общеобразовательно