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

Вывести разницу дней между двумя датами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как обнулить указатель на одну ячейку в динамически-выделенной памяти? http://www.cyberforum.ru/cpp-beginners/thread1221014.html
Выделю память под 10 элементов: int* p = new int; Наполняю значениями: for(int i = 0; i<10; i++) { p = i; } Можно ли обнулить указатель, например для последнего элемента в этом массиве? Что-то типа такого: p = nullptr; но пишет, что в операторе разные значения стоят по обе стороны от оператора присваивания.
C++ Что означает запись ++arr1[arr2[i]] Привет всем . Вот нашел код но не поиму что значит запись ++frequency ] ; //вот все что её касаеться меня интерисует от А-Я что и как она работает подробно . Гуглил но не нашел токой информации. Знаю то что она берёт значения один за другим с помощу цыкла но и сумирует каждый элемент массива но как она распределяет единицы к еденицам , двойки к двойкам . Обычно в таком случае я бы... http://www.cyberforum.ru/cpp-beginners/thread1221004.html
C++ Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу
Помогите написать, дописать эту программу очень нужна ваша помощь... Задание:заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. То что я попыталась написать... мои наработки: #include "stdafx.h" #include <iostream> using namespace std; int main(); int _tmain(int argc, _TCHAR* argv)
C++ Перевод с Pascal (Определение локальных минимумов)
var Mass: array of integer; i, N, Count_LocalMin: byte; begin write(' N = '); readln(N); writeln('Введите ', N, ' целых чисел:'); writeln; for i := 1 to N do
C++ Отсортировать файл в порядке возрастания длин строк http://www.cyberforum.ru/cpp-beginners/thread1220951.html
Ребят, помогите, пожалуйста с этими программами: 2) Текстовом файле находятся строки (не более 30). Отсортировать файл в порядке возрастания длин строк. Может кто уже сталкивался с подобным или есть какие идеи, пожалуйста, поделитесь. У меня не получается((((
C++ Шифрование XOR не работает с кириллицей Проблема и никак не могу решить. Функция XOR возвращает при исходной строке "съешь еще этих мягких мексиканских кактусов да выпей текилы": "?????N???p????N??????G????????????E????????E??L?????E?????? @" то есть не хочет читать кириллицу: void XOR(char* lpPassword, unsigned char* lpResult) { if(lpPassword=='\0' || strlen(lpPassword)<=0) return; подробнее

Показать сообщение отдельно
mercenaryfess
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 2
02.07.2014, 08:10     Вывести разницу дней между двумя датами
Всем привет. Ребят, прошу вашей помощи
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include <iostream>
using namespace std;
 
class Date{
private:
    int raz, sch;
    int day, day2;
    int month, month2;
    int year, year2;
public:
    Date(){ //создание объекта по умолчанию.
        year = day = month = 1;
    }
    Date(int d, int m, int y){ //создание объекта с указанной датой.
        year = day = month = 1;
        if (m >= 1 && m <= 12){
            month = m;
        }
        if (y > 0) year = y;
        int dz;
        if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
            dz = 31;
        }
        else if (month == 4 || month == 6 || month == 9 || month == 11){
            dz = 30;
        }
        else if (month == 2){
            if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) dz = 29;
            else dz = 28;
        }
        if (d >= 1 && d <= dz) day = d;
    }
    friend ostream& operator << (ostream& out, const Date& dt)
    {
        out << dt.day << '.' << dt.month << '.' << dt.year;
        return out;
    }
    Date operator + (int days){
        if (days < 0) return *this;
        Date date = Date(*this); //копия
        date.day += days;
 
        while (true){
            int dz;
            if (date.month == 3 || date.month == 1 || date.month == 5 || date.month == 7 || date.month == 8 || date.month == 10 || date.month == 12){
                dz = 31;
            }
            else if (date.month == 4 || date.month == 6 || date.month == 9 || date.month == 11){
                dz = 30;
            }
            else if (date.month == 2){
                if ((date.year % 4 == 0) && (date.year % 100 != 0) || (date.year % 400 == 0)) dz = 29;
                else dz = 28;
            }
            if (date.day > dz){
                date.day -= dz;
                date.month += 1;
            }
            else {
                break;
            }
            if (date.month > 12){
                date.month -= 12;
                date.year += 1;
            }
        }
        return date;
    }
    void writeDate(){
        int d, m, y, d2, m2, y2;
        
        cout << "Write 1st date (like 23 05 2009): ";
        cin >> d >> m >> y;
        year = day = month = 1;
        if (m >= 1 && m <= 12){
            month = m;
        }
        if (y > 0) year = y;
        int dz;
        if (month == 3 || month == 1 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
            dz = 31;
        }
        else if (month == 4 || month == 6 || month == 9 || month == 11){
            dz = 30;
        }
        else if (month == 2){
            if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) dz = 29;
            else dz = 28;
        }
        if (d >= 1 && d <= dz) day = d;
 
        cout << "Write 2nd date (like 23 05 2009): ";
        cin >> d2 >> m2 >> y2;
        year2 = day2 = month2 = 1;
        if (m2 >= 1 && m2 <= 12){
            month2 = m2;
        }
        if (y2 > 0) year2 = y2;
        int dz2;
        if (month2 == 3 || month2 == 1 || month2 == 5 || month2 == 7 || month2 == 8 || month2 == 10 || month2 == 12){
            dz2 = 31;
        }
        else if (month2 == 4 || month2 == 6 || month2 == 9 || month2 == 11){
            dz2 = 30;
        }
        else if (month2 == 2){
            if ((year2 % 4 == 0) && (year2 % 100 != 0) || (year2 % 400 == 0)) dz2 = 29;
            else dz2 = 28;
        }
        if (d2 >= 1 && d2 <= dz) day2 = d2;
 
    
        if (d != d2 && m != m2 && y != y2)
            raz = 0;
            if (y2 >= y & m2>=m & d2>d){
            while (d < d2 & m<m2)
                    d+=1;
                raz ++;
            }
            else if(y>=y2 ){}
            while (d > d2 & m>m2) {
                d2+=1;
                raz++;
            }
            sch = raz;
                cout << "Raznica v dnyah: " << sch << endl;
    };
};
void main(){
    Date d1 = Date();
    d1.writeDate();
    cout << "Date 1: " << d1 << endl;
    cout << "Date 1 + 20 days: " << d1 + 20 << endl;
    cout << "Date 1 + 1000 days: " << d1 + 1000 << endl;
    cout << "Date 1 + ? days: ";
    int n; cin >> n;
    cout << d1 + n << endl;
    system("PAUSE");
}
В функции writeDate в конце я хочу вывести разницу дней между двумя датами. У меня это не очень получается, выводит на экран какую-то фигню
Миниатюры
Вывести разницу дней между двумя датами  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru