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

Создать класс для хранения календарных дат. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Прокомментировать v2.0 http://www.cyberforum.ru/cpp-beginners/thread320261.html
Цели Написать программу на языке C++, реализующую арифметику рацио- нальных чисел вида a = i/k, где i, k – натуральные числа.Должныбыть как минимум определеныоператоры+, +=, -, -=, *, *=, /, /=, = , допус- кающие построение арифметических выражений в том виде, в каком они справедливы для int, а также позволяющие в одном выражении смешивать рациональные и целые числа. Листинг: #include...
C++ Прокомментировать Написать программу на языке C + +, моделирующую поведение строителя пира- миды (Mason) путём создания соответствующего класса. Каждый строитель идентифицируется именем и долей B 2 (0; 1) каменных бло- ков, разбиваемых при кладке. Все рабочие имеют одинаковое ограничение - проф- союз запрещает принимать более N0 блоков за смену. Высота H построенного строения зависит от количества выданных... http://www.cyberforum.ru/cpp-beginners/thread320258.html
C++ Лаба по C++. из десятичной в двоичную!
Написать программу на языке C++, читающую со стандартного ввода 4 деся- тичных числа x, y,m, n. Все смещения будут указываться начиная с младшего бита, начиная с 0. В числах x, y обменять местами младшие n из x на старшие n бит из x, потом инвертировать 9 старших бит в y. Программа должна вывести все исходные данные в десятичном виде, исходные и полученные значения x, y в двоичном виде в...
C++ Зачет
Помогите решить задачи! Хотя бы несколько. Спасибо заранее.
C++ У меня вопрос http://www.cyberforum.ru/cpp-beginners/thread320161.html
Почему прога не вычисляет максимальный и минимальный элемент в матрице? Пишет не так Код вроде бы верен, а толку от этого нет #include<stdio.h> #include<conio.h> int main() { int a, k, l, i, j, min, max; printf("\nvvedy matrycu a: \n"); for(i=1; i<=3; i++) for(j=1; j<=4; j++)
C++ Не проходите мимо!!! Можно ли форму созданную в Access подключить в MFC проект и как? если можете объсните или дайте ссылки на литературу подробнее

Показать сообщение отдельно
Malin Klein
 Аватар для Malin Klein
0 / 0 / 0
Регистрация: 10.05.2011
Сообщений: 18
15.06.2011, 17:38     Создать класс для хранения календарных дат.
Создать класс для хранения календарных дат. Обеспечить возможность работы с датами в различных форматах, изменения даты на заданное количество дней. Перегрузить операцию «–» для нахождения разности дат и операции сравнения. Для класса определить оператор <<. Стандартные функции и типы С для работы с датами не использовать.



Работа с датами в различных форматах, НО МНЕ НУЖНО ЕЩЕ ВСТАВИТЬ КОПИРУЮЩИЙ КОНСТРУКТОР(В ВИДЕ КОПИЙ). Еще нужно выводить даты в виде строки:

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
//---------------------------------------------------------------------------
 
#pragma hdrstop
#include <iostream.h>
#include <iomanip.h>
#include "include.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
class data
{  
    unsigned int day;
    unsigned int month;
    unsigned int year;
 
    public:
    data _Day(unsigned int _d)
    {
 
    };
    static char i;
    static enum {JAN=1,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC}mon;
    data(unsigned int d, unsigned int m, unsigned int y):day(d), month(m), year(y)
    {
        if (m==JAN || m==MAR || m==MAY || m==JUL || m==AUG || m==OCT || m==DEC)
        {
            while (d > 31)
            {
                cout << "Input day<=31!!!";
                cin >> d;
                day = d;
            }
 
            return;
        }
 
        if (m==APR || m==JUN || m==SEP || m==NOV)
        while (d>30)
        {
            cout << "Input day<=30!!!";
            cin >> d;
            day = d;
        }
 
        if (y/4.!=0 && m==FEB)
        {
            while (d>28)
            {
                cout<< "Input day <= 28!!!";
                cin >> d;
                day = d;
            }
            return;
        }
        if (y/4.==0&&m==FEB)
            while (d > 29)
            {
                cout<<"Input day<=29!!!";
                cin>>d;
                day=d;
            }
    }
 
    friend ostream& operator << (ostream& out,data& c);
    friend bool operator == (const data&, const data&);
};
 
void begin()
{
    cout << "Please make a choose the format of data:\n";
    cout << "1: DD/MM/YYYY\n2: MM/DD/YYYY\n3: DD-mon-YYYY\n";
    cin >> data::i;
}
ostream& operator << (ostream& out,data& c)
{
        switch (c.i)
        {
            case '1':return out<<setw(2)<<setfill('0')<<c.day<<'/'
                    <<setw(2)<<setfill('0')<<c.month<<'/'
                    <<setw(4)<<setfill('0')<<c.year;
            case '2':return out<<setw(2)<<setfill('0')<<c.month<<'/'
                    <<setw(2)<<setfill('0')<<c.day<<'/'
                    <<setw(4)<<setfill('0')<<c.year;
            case '3':cout<<setw(2)<<setfill('0')<<c.day<<'-';
                switch (c.month)
                {
                    case c.JAN:cout<<"JAN-";break;
                    case c.FEB:cout<<"FEB-";break;
                    case c.MAR:cout<<"MAR-";break;
                    case c.APR:cout<<"APR-";break;
                    case c.MAY:cout<<"MAY-";break;
                    case c.JUN:cout<<"JUN-";break;
                    case c.JUL:cout<<"JUL-";break;
                    case c.AUG:cout<<"AUG-";break;
                    case c.SEP:cout<<"SEP-";break;
                    case c.OCT:cout<<"OCT-";break;
                    case c.NOV:cout<<"NOV-";break;
                    case c.DEC:cout<<"DEC-";break;
                }
                return out << setw(4) << setfill('0') << c.year;
        }
}
bool operator == (const data& A,const data& B)
{
    if (A.day==B.day && A.month==B.month && A.year==B.year) return true;
    return false;
}
 Комментарий модератора 
Используйте теги форматирования кода!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru