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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mixon-21
3 / 3 / 0
Регистрация: 05.03.2013
Сообщений: 219
#1

клас myDate - C++

24.07.2013, 23:00. Просмотров 665. Ответов 7
Метки нет (Все метки)

Создайте класс Date, который будет содержать информацию о дате (день, месяц, год). С помощью механизма перегрузки операторов, определите операцию разности двух дат (результат в виде количества дней между датами), а также операцию увеличения даты на определенное количество дней.

с++

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class myDate
{
public:
    myDate();
    ~myDate();
private:
    int y;
    int m;
    int d;
    void dney();
};
void myDate::dney()//функция количество дней в году
{
if(y%4==0)
    cout<<"366 dney";
else
    cout<<"365 dney";
m;
d;
}

подскажите плиз на словах что дальше делать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2013, 23:00     клас myDate
Посмотрите здесь:

клас обработчик C++
C++ создать клас HugeInt
C++ Простой клас Student
C++ Векторы+клас
C++ матрица. клас
C++ матрица. клас. 2
Как создать клас Fraction C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4873 / 3012 / 370
Регистрация: 10.11.2010
Сообщений: 11,061
Записей в блоге: 10
Завершенные тесты: 1
24.07.2013, 23:28     клас myDate #2
Цитата Сообщение от mixon-21 Посмотреть сообщение
подскажите плиз на словах что дальше делать
Перегрузи оператор. Дальше видно будет.
mixon-21
3 / 3 / 0
Регистрация: 05.03.2013
Сообщений: 219
24.07.2013, 23:34  [ТС]     клас myDate #3
Цитата Сообщение от castaway Посмотреть сообщение
Перегрузи оператор. Дальше видно будет.
А как это сделать????
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
24.07.2013, 23:41     клас myDate #4
C++
1
2
3
4
5
6
int operator - (const myDate& lhs, const myDate& rhs)
{
  int result = 0;
  // тут считаем каким-то макаром разницу в днях между этими датами и возвращаем результат
  return result;
}
castaway
Эксперт С++
4873 / 3012 / 370
Регистрация: 10.11.2010
Сообщений: 11,061
Записей в блоге: 10
Завершенные тесты: 1
24.07.2013, 23:55     клас myDate #5
Цитата Сообщение от mixon-21 Посмотреть сообщение
А как это сделать????
Ты так до конца решения своей задачи будешь спрашивать?
JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
25.07.2013, 00:28     клас myDate #6
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
#include <iostream>
#include <conio.h>
#include <cmath>
typedef unsigned int ui;
//1 ãîä = 365 Г¤Г*ГҐГ© ГЁ 1 ìåñÿö = 30 Г¤Г*ГҐГ©
class Date
{
      private:
              ui year;
              ui month;
              ui day;
      public:
             Date(void)
             {
                       year = 0;
                       month = 0;
                       day = 0;
             }
             Date(ui n)
             {
                     year = n/365;
                     month = (n - year*365)%30;
                     day = n - year*365 - month*30;
             }
             Date(ui the_year, ui the_month, ui the_day = 0):
                     year(the_year), month(the_month), day(the_day)
                     {
                                     if(the_month > 12 || the_day > 30)
                                                  Date();
                     };
             ui Hday()
              {
                      ui result = year*365+month*30+day;
                      return result;
              }
             ui operator-(Date &d)
             {
                ui result;
                result = abs(Hday()-d.Hday());
                return result;
             }
             void operator++()
             {
                day += 10;
             }
              ~Date(){};
};
 
int main()
{
    Date object1;
    Date object2(0,1,24);
    Date object3(367);
    std::cout << object2-object1 << std::endl;
    ++object1;
    std::cout << object2-object1 << std::endl;
    std::cout << "\n\n" << object3-object2;
    _getch();
    return 0;
}
mixon-21
3 / 3 / 0
Регистрация: 05.03.2013
Сообщений: 219
30.07.2013, 18:35  [ТС]     клас myDate #7
работает неправильно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2013, 18:54     клас myDate
Еще ссылки по теме:

переделать клас C++
Клас колода карт C++
C++ клас Letter, клас Person
клас птиц C++
Клас многочлен наследствие C++

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

Или воспользуйтесь поиском по форуму:
Kastaneda
Форумчанин
Эксперт С++
4259 / 2791 / 219
Регистрация: 12.12.2009
Сообщений: 7,120
Записей в блоге: 1
Завершенные тесты: 1
30.07.2013, 18:54     клас myDate #8
Наверное очень сложно живется людям, которые не умеют пользоваться поиском. Этих Date'ов на форуме полным полно, например вот.
Yandex
Объявления
30.07.2013, 18:54     клас myDate
Ответ Создать тему
Опции темы

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