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

календарь - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ булевская переменная http://www.cyberforum.ru/cpp-beginners/thread332571.html
Написать программу, в результате выполнения которой булевская переменная t получает значение TRUE, если выполняется заданное условие, и FALSE в противном случае (Оператор If не...
C++ как присвоить значения из одного объекта другому объекту у меня два объекта, мне надо присвоить значения из одного объекта другому объекту, как это можно сделать #include <iostream> using namespace std; class move { double x; ... http://www.cyberforum.ru/cpp-beginners/thread332543.html
C++ В матрице вставить три столбца из нулей перед столбцом, содержащем только отрицательные элементы
дан двумерный массив. вставить три столбца из 0 перед столбцом содержащий только отрицательные элементы
C++ Дерево общего вида (да опять я)
Всеравно неработает уже 2 ночь не сплю. одни проблеммы с етой программой, но что то мне подсказывает что вывод на екран надо переделать и все) Вообщем пользователь вводит узначение узла, а потом...
C++ составить блок схему к алгоритму обработки строки. http://www.cyberforum.ru/cpp-beginners/thread332483.html
с клавиатуры вводится строка. выберите из нее все буквы A(a) до I (i). строчные преобразуйте в прописные и отсортируйте в алфавитном порядке
C++ Удаление вектора из области динамической памяти. Всем привет! Прошу разъяснить. Как правильно удалить содержимое вектора? class Coordinate { public: Coordinate() {} int *getCoord() { return itsCoord; } подробнее

Показать сообщение отдельно
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
13.07.2011, 17:33
Код сохранил, негоже такому добру пропадать.
Если есть желание/надо написать код по подсчёту даты вручную то:
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
//Date.h
#ifndef DATE_H
#define DATE_H
 
#include <iostream>
using std::ostream;
 
class Date
{
   friend ostream &operator<<( ostream &, const Date & );
public:
   Date( int m = 1, int d = 1, int y = 1900 ); // default constructor
   void setDate( int, int, int ); // set month, day, year
   Date &operator++(); // prefix increment operator
   Date operator++( int ); // postfix increment operator
   const Date &operator+=( int ); // add days, modify object
   bool leapYear( int ) const; // is date in a leap year?
   bool endOfMonth( int ) const; // is date at the end of month?
private:
   int month;
   int day;
   int year;
 
   static const int days[]; // array of days per month
   void helpIncrement(); // utility function for incrementing date
}; // end class Date
 
#endif
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//Date.cpp
#include <iostream>
#include "Date.h"
 
// initialize static member at file scope; one classwide copy
const int Date::days[] = 
   { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
 
// Date constructor
Date::Date( int m, int d, int y ) 
{ 
   setDate( m, d, y ); 
} // end Date constructor
 
// set month, day and year
void Date::setDate( int mm, int dd, int yy )
{
   month = ( mm >= 1 && mm <= 12 ) ? mm : 1;
   year = ( yy >= 1900 && yy <= 2100 ) ? yy : 1900;
 
   // test for a leap year
   if ( month == 2 && leapYear( year ) )
      day = ( dd >= 1 && dd <= 29 ) ? dd : 1;
   else
      day = ( dd >= 1 && dd <= days[ month ] ) ? dd : 1;
} // end function setDate
 
// overloaded prefix increment operator 
Date &Date::operator++()
{
   helpIncrement(); // increment date
   return *this; // reference return to create an lvalue
} // end function operator++
 
// overloaded postfix increment operator; note that the  
// dummy integer parameter does not have a parameter name
Date Date::operator++( int )
{
   Date temp = *this; // hold current state of object
   helpIncrement(); 
 
   // return unincremented, saved, temporary object
   return temp; // value return; not a reference return
} // end function operator++
 
// add specified number of days to date
const Date &Date::operator+=( int additionalDays )
{
   for ( int i = 0; i < additionalDays; i++ )
      helpIncrement();
 
   return *this; // enables cascading
} // end function operator+=
 
// if the year is a leap year, return true; otherwise, return false
bool Date::leapYear( int testYear ) const
{
   if ( testYear % 400 == 0 || 
      ( testYear % 100 != 0 && testYear % 4 == 0 ) )
      return true; // a leap year
   else
      return false; // not a leap year
} // end function leapYear
 
// determine whether the day is the last day of the month
bool Date::endOfMonth( int testDay ) const
{
   if ( month == 2 && leapYear( year ) )
      return testDay == 29; // last day of Feb. in leap year
   else
      return testDay == days[ month ];
} // end function endOfMonth
 
// function to help increment the date
void Date::helpIncrement()
{
   // day is not end of month
   if ( !endOfMonth( day ) )
      day++; // increment day
   else 
      if ( month < 12 ) // day is end of month and month < 12
      {
         month++; // increment month
         day = 1; // first day of new month
      } // end if
      else // last day of year
      {
         year++; // increment year
         month = 1; // first month of new year
         day = 1; // first day of new month
      } // end else
} // end function helpIncrement
 
// overloaded output operator
ostream &operator<<( ostream &output, const Date &d )
{
   static char *monthName[ 13 ] = { "", "January", "February",
      "March", "April", "May", "June", "July", "August",
      "September", "October", "November", "December" };
   output << monthName[ d.month ] << ' ' << d.day << ", " << d.year;
   return output; // enables cascading
} // end function operator<<
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru