Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/47: Рейтинг темы: голосов - 47, средняя оценка - 4.87
0 / 0 / 1
Регистрация: 31.03.2014
Сообщений: 4
1

Создать класс Date для работы с датами в формате "год.месяц.день" / C++ для начинающих

01.04.2014, 13:05. Просмотров 9190. Ответов 1
Метки нет (Все метки)

"Создать класс Date для работы с датами в формате «год.месяц.день». Дата представляется структурой с тремя нолями типа unsigned Int.* для года, месяца и дня. Класс должен включать не менее трех функций инициализации: числами, строкой вида <год.месяц.день> (например, «2004.08.31») и датой. Обязательными операциями являются: вычисление даты через заданное количество дней, вычитание заданного количества дней из даты, определение високосности года, присвоение и получение отдельных частей (год, месяц, день), сравнение дат (равно, до, после), вычисление количества дней между датами."
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2014, 13:05
Ответы с готовыми решениями:

Создать класс Date для работы с датами в формате "год. месяц. день"
Всем доброго времени суток. Задали задачу на С++, но не могу её осилить. Может быть у кого-нибудь...

"Создать класс Date для работы с датами в формате «год.месяц.день»
В чем ошибки? #include &lt;iostream&gt; using namespace std; class Date { public: int...

Создать класс Date для работы с датами в формате «год.месяц.день»
Создать класс Date для работы с датами в формате «год.месяц.день». Дата представляется структурой с...

Создать класс Date для работы с датами в формате «год.месяц.день»
Создать класс Date для работы с датами в формате «год.месяц.день». Дата представляется структурой с...

1
582 / 385 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
01.04.2014, 14:22 2
Лучший ответ Сообщение было отмечено Destroy12 как решение

Решение

Для начала как то так
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
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <string>
#include <vector>
#include <cstdlib>
#include <cmath>
 
namespace cforum
{
    struct elemDate
    {
        size_t day;
        size_t month;
        size_t year;
    };
 
    class Date
    {
        private:
            elemDate date;
        public:
            Date(size_t y = 1969,size_t m = 1,  size_t d = 1)
            {
                date.year = y;
                date.month = m;
                date.day = d;
            }
            Date(std::string str)
            {
                std::vector<std::string> result;
                  size_t pos = 0;
                  while (1)
                  {
                    size_t end = str.find('.', pos);
                    if (end == str.npos)
                    {
                      result.push_back(str.substr(pos));
                      break;
                    }
                    else
                    {
                      result.push_back(str.substr(pos, end - pos));
                      pos = end + 1;
                    }
                  }
                  date.year = atoi(result[0].c_str());
                  date.month = atoi(result[1].c_str());
                  date.day = atoi(result[2].c_str());
            }
            Date(const Date & d)
            {
                date.year = d.getElemDate().year;
                date.month = d.getElemDate().month;
                date.day = d.getElemDate().day;
            }
 
            elemDate getElemDate()const { return date; }
            size_t getYear()const { return date.year; }
            size_t getMonth()const { return date.month; }
            size_t getDay()const { return date.day; }
            void setYear(size_t y){ date.year = y; }
            void setMonth(size_t m){ date.month = m; }
            void setDay(size_t d){ date.day = d; }
 
            bool isLeapYear()
            {
              if(date.year % 100 == 0)
              {
                 if(date.year % 4 == 0 || date.year % 400 == 0)
                    return  true;
                return false;
              }
 
            }
 
            bool operator ==(Date & d)const
            {
                return date.year == d.getYear() && date.month == d.getMonth() && date.day == d.getDay();
            }
 
            bool operator !=(Date & d)const
            {
                return date.year != d.getYear() && date.month != d.getMonth() && date.day != d.getDay();
            }
 
            Date getDiffDate(Date & d)
            {
                return Date(std::abs(date.year - d.getYear()), std::abs(date.month - d.getMonth()), std::abs(date.day - d.getDay()));
            }
            Date operator +(const Date & d)
            {
                //сами
                return Date();
            }
            Date  operator -(size_t day)
            {
                //сами
                return Date();
            }
            size_t operator -(Date & d)
            {
                //сами
                return date.day;
            }
    };
}
 
int main()
{
    cforum::Date d;
    std::cout << d.getDay() << ':' << d.getMonth() << ':' << d.getYear() << std::endl;
 
    return 0;
}
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2014, 14:22

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

Из класса "Дата" с полями день, месяц, год создать класс "Время" с дополнительными полями час, минута, секунда
в общем .надо класс дата полями день, месяц год.теперь мне надо создать класс &quot;Время&quot; з...

Создать класс Date для работы с датами в формате "год.месяц.день"
надо написать класс 1 контрольная 8 задание. только срочно в понедельник уже сдать надо. заранее...

Класс TDate для работы с датами в формате "день.месяц.год"
Создать класс TDate для работы с датами в формате &quot;день.месяц.год&quot;. Дата является структурой с...

Разница между датами в формате "год/мес/день"
Простая вроде задачка, но Бейсик я увидел тока сегодня первый день :) потратил 2 часа на изучение...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.