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

Определить количество дней между двумя датами

10.06.2016, 17:28. Просмотров 10302. Ответов 9
Метки нет (Все метки)


Всем привет. Знаю была уже подобная задачка решена ранее, и не раз:
Пользователь вводит две даты (день, месяц, год в виде целых чисел). Необходимо определить и вывести количество дней между этими двумя датами. Для расчетов учитывать високосные года, а также корректное число дней в месяцах (март – 31, сентябрь – 30, февраль невисокосного года – 28 и т.д.).

Но вот как это решить с помощью if esle и switch?. то есть без использования функций, массивов и прочих прелестей... может кто подскажет?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2016, 17:28
Ответы с готовыми решениями:

Количество дней между двумя датами
Хочу спросить кто знает как найти количество дней между двумя датами. ПРИМЕР input ...

Количество дней между двумя датами
Здравствуйте, у меня есть неполный код от задачи: Найти количество дней между двумя датами. можете...

Определить и вывести количество дней между двумя датами (логические операторы и операторы ветвлений)
Задачка Пользователь вводит две даты (день, месяц, год в виде целых чисел). Необходимо определить...

Высчитать количество дней между двумя датами
Короче,много тем на форуме по этому поводу,но нету ниодной правильной,которая мне нужна. Суть...

9
90 / 86 / 79
Регистрация: 10.01.2016
Сообщений: 478
Записей в блоге: 13
10.06.2016, 18:06 2
switch скорее всего используется в месяцах, возможно и в годах.
0
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
10.06.2016, 18:36  [ТС] 3
можно пример...? я понимаю что нужно отталкиваться от кол-ва дней с начала года в конкретном месяце и прибавлять дату. и есть затык с определением высокосных лет...

Добавлено через 15 минут
В общем, вот набросал начало
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
/*Пользователь вводит две даты (день, месяц, год в виде целых чисел). 
Необходимо определить и вывести количество дней между этими двумя датами. 
Для расчетов учитывать високосные года, а также корректное число дней в месяцах 
(март – 31, сентябрь – 30, февраль невисокосного года – 28 и т.д.).*/
 
#include <iostream>
using namespace std;
void main ()
{
    int Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec; // число дней обычного года, истекших к началу определенного месяца
    int Jan1, Feb1, Mar1, Apr1, May1, Jun1, Jul1, Aug1, Sep1, Oct1, Nov1, Dec1; // число дней высокосного года, истекших к началу определенного месяца
    int yy1, mm1, dd1; 
    int yy2, mm2, dd2; 
    cout << "Enter the date1 (DD MM YYYY): "; // просим ввести первую дату
    cin >> dd1 >> mm1 >> yy1;
 
    if (yy1>9999 || yy1<1 || mm1>12 || mm1<1 || dd1>31 || dd1<1)
        cout << "You entered incorrect date!";
 
    cout << "Enter the date2 (DD MM YYYY): "; // просим ввести вторую дату
    cin >> dd2 >> mm2 >> yy2;
    cout << endl;
 
    if (yy2>9999 || yy2<1 || mm2>12 || mm2<1 || dd2>31 || dd2<1)
        cout << "You entered incorrect date!";
 
    Jan=0; Feb=31; Mar=59; Apr=90; May=120; Jun=151;
    Jul=181; Aug=212; Sep=243; Oct=273; Nov=304; Dec=334;
 
    Jan=0; Feb=31; Mar=60; Apr=91; May=121; Jun=152;
    Jul=182; Aug=213; Sep=244; Oct=274; Nov=305; Dec=335;
 
 
    if (mm1 = )
0
90 / 86 / 79
Регистрация: 10.01.2016
Сообщений: 478
Записей в блоге: 13
10.06.2016, 18:46 4
Давай обсудим алгоритм: есть високосный год, т.е. 29 дней в феврале. Я думаю от этого и надо начинать написание программы.
0
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
10.06.2016, 18:56  [ТС] 5
видимо нужно определить кол-во высокосных годов в заданном периоде и прибавить это число к общему кол-ву дней
0
90 / 86 / 79
Регистрация: 10.01.2016
Сообщений: 478
Записей в блоге: 13
10.06.2016, 18:58 6
или можно задать начальный високосный год, как const и от этой даты играть дальше.
0
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
10.06.2016, 19:08  [ТС] 7
спасибо!
0
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
12.06.2016, 16:00  [ТС] 8
Вот такой извращенный вариант , но рабочий :

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
140
141
142
143
/*Пользователь вводит две даты (день, месяц, год в виде целых чисел). 
Необходимо определить и вывести количество дней между этими двумя датами. 
Для расчетов учитывать високосные года, а также корректное число дней в месяцах 
(март – 31, сентябрь – 30, февраль невисокосного года – 28 и т.д.).*/
 
 
 
#include <iostream>
using namespace std;
void main ()
{
    int Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec; 
    int Jan2, Feb2, Mar2, Apr2, May2, Jun2, Jul2, Aug2, Sep2, Oct2, Nov2, Dec2; 
    int dd1, mm1, yy1; 
    int dd2, mm2, yy2;
    const int DinY=365;
    
    cout << "Enter the date1 (DD MM YYYY): "; // просим ввести первую дату
    cin >> dd1 >> mm1 >> yy1;
 
    if (yy1>9999 || yy1<1 || mm1>12 || mm1<1 || dd1>31 || dd1<1)
        cout << "You entered incorrect date!" << endl;
 
    cout << "Enter the date2 (DD MM YYYY): "; // просим ввести вторую дату
    cin >> dd2 >> mm2 >> yy2;
    cout << endl;
 
    if (yy2>9999 || yy2<1 || mm2>12 || mm2<1 || dd2>31 || dd2<1)
        cout << "You entered incorrect date!" << endl;
 
    Jan=0; Feb=31; Mar=59; Apr=90; May=120; Jun=151;
    Jul=181; Aug=212; Sep=243; Oct=273; Nov=304; Dec=334; // число дней обычного года, истекших к началу определенного месяца с начала года
 
    int mm3;
 
    if (mm2<2)
        mm3 = Jan;
    else if (mm2>1 && mm2<3)
        mm3 = Feb;
    else if (mm2>2 && mm2<4)
        mm3 = Mar;
    else if (mm2>3 && mm2<5)
        mm3 = Apr;
    else if (mm2>4 && mm2<6)
        mm3 = May;
    else if (mm2>5 && mm2<7)
        mm3 = Jun;
    else if (mm2>6 && mm2<8)
        mm3 = Jul;
    else if (mm2>7 && mm2<9)
        mm3 = Aug;
    else if (mm2>8 && mm2<10)
        mm3 = Sep;
    else if (mm2>9 && mm2<11)
        mm3 = Oct;
    else if (mm2>10 && mm2<12)
        mm3 = Nov;
    else
        mm3 = Dec;
 
    int mm5;
 
    if (mm1<2)
        mm5 = Jan;
    else if (mm1>1 && mm1<3)
        mm5 = Feb;
    else if (mm1>2 && mm1<4)
        mm5 = Mar;
    else if (mm1>3 && mm1<5)
        mm5 = Apr;
    else if (mm1>4 && mm1<6)
        mm5 = May;
    else if (mm1>5 && mm1<7)
        mm5 = Jun;
    else if (mm1>6 && mm1<8)
        mm5 = Jul;
    else if (mm1>7 && mm1<9)
        mm5 = Aug;
    else if (mm1>8 && mm1<10)
        mm5 = Sep;
    else if (mm1>9 && mm1<11)
        mm5 = Oct;
    else if (mm1>10 && mm1<12)
        mm5 = Nov;
    else
        mm5 = Dec;
 
 
    int DinY2; // кол-во дней в последнем неполном году
 
    DinY2 = mm3+dd2;
 
    Jan2=365; Feb2=334; Mar2=304; Apr2=273; May2=243; Jun2=212;
    Jul2=181; Aug2=151; Sep2=120; Oct2=90; Nov2=59; Dec2=31; // число дней обычного года, оставшиеся к началу следующего года
 
    int mm4;
 
    if (mm1<2)
        mm4 = Jan2;
    else if (mm1>1 && mm1<3)
        mm4 = Feb2;
    else if (mm1>2 && mm1<4)
        mm4 = Mar2;
    else if (mm1>3 && mm1<5)
        mm4 = Apr2;
    else if (mm1>4 && mm1<6)
        mm4 = May2;
    else if (mm1>5 && mm1<7)
        mm4 = Jun2;
    else if (mm1>6 && mm1<8)
        mm4 = Jul2;
    else if (mm1>7 && mm1<9)
        mm4 = Aug2;
    else if (mm1>8 && mm1<10)
        mm4 = Sep2;
    else if (mm1>9 && mm1<11)
        mm4 = Oct2;
    else if (mm1>10 && mm1<12)
        mm4 = Nov2;
    else
        mm4 = Dec2;
 
 
    int DinY1; // кол-во дней в первом неполном году
 
    DinY1 = mm4-dd1;
 
    int date3, date4, res; // date3 - количество полных лет, date4 - кол-во высокосных.
 
    date3 = yy2-yy1;
    date4 = date3/4; // кол-во высокосных
    date3--;
 
    if (yy2!=yy1)
        res = (date3*DinY)+DinY1+DinY2+date4; // DinY - константа, кол-во дней в обычном году
    else if (yy1==yy2 && mm1==mm2)
        res = dd2-dd1;
    else
        res = (mm3+dd2)-(mm5+dd1);
    cout << "Quantity of days between entered dates is: " << res << endl << endl;
 
    system ("pause");
}
может кому пригодится в будущем
0
0 / 0 / 0
Регистрация: 13.01.2020
Сообщений: 4
13.01.2020, 21:16 9
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
#include <iostream>
 
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Rus");
 
    int choice;
 
    cout << "Введите вариант задания -->" ;
 
    cin >> choice;
 
    switch (choice)
    {
        case 1:
        {
            int day1, month1, year1, day2, month2, year2, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec;
 
            int alldays, diff, A, B, Jan2, Feb2, Mar2, Apr2, May2, Jun2, Jul2, Aug2, Sep2, Oct2, Nov2, Dec2;
 
            cout << "Введите кол-во дней 1-го года: " << endl;
 
            cin >> day1;
 
            cout << "Введите кол-во месяцев 1-го года: " << endl;
 
            cin >> month1;
 
            cout << "Введите 1-ый год: " << endl;
 
            cin >> year1;
 
            if (year1 % 400 == 0 || year1 % 4 == 0) // Проверка на високосный год
            {
                switch (month1)
                {
                    case 1: {A = Jan = day1; }break;
                    case 2: {A = Feb = day1 + 31; }break;
                    case 3: {A = Mar = day1 + 31 + 29; }break;
                    case 4: {A = Apr = day1 + 31 + 29 + 31; }break;
                    case 5: {A = May = day1 + 31 + 29 + 31 + 30; }break;
                    case 6: {A = Jun = day1 + 31 + 29 + 31 + 30 + 31; }break;
                    case 7: {A = Jul = day1 + 31 + 29 + 31 + 30 + 31 + 30; }break;
                    case 8: {A = Aug = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31; }break;
                    case 9: {A = Sep = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31; }break;
                    case 10: {A = Oct = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 30; }break;
                    case 11: {A = Nov = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30; }break;
                    case 12: {A = Dec = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31; }break;
                                        // А = сделано для дальнейшей работы в случае попадание в конкретный кейс 
                    default: cout << "Такого месяца не существует!" << endl;
                }
            }
            else if (year1 % 100 != 0)// Проверка на не високосный год
            {
                switch (month1)
                {
                    case 1: {A = Jan = day1; }break;
                    case 2: {A = Feb = day1 + 31; }break;
                    case 3: {A = Mar = day1 + 31 + 28; }break;
                    case 4: {A = Apr = day1 + 31 + 28 + 31; }break;
                    case 5: {A = May = day1 + 31 + 28 + 31 + 30; }break;
                    case 6: {A = Jun = day1 + 31 + 28 + 31 + 30 + 31; }break;
                    case 7: {A = Jul = day1 + 31 + 28 + 31 + 30 + 31 + 30; }break;
                    case 8: {A = Aug = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31; }break;
                    case 9: {A = Sep = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31; }break;
                    case 10: {A = Oct = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 30; }break;
                    case 11: {A = Nov = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30; }break;
                    case 12: {A = Dec = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31; }break;
                                    // А = сделано для дальнейшей работы в случае попадание в конкретный кейс 
                default: cout << "Такого месяца не существует!" << endl;
                }
            }
 
            cout << "Введите кол-во дней 2-го года: " << endl;
 
            cin >> day2;
 
            cout << "Введите кол-во месяцев 2-го года: " << endl;
 
            cin >> month2;
 
            cout << "Введите 2-ой год: " << endl;
 
            cin >> year2;
 
            if (year1 % 400 == 0 || year1 % 4 == 0)// Проверка на високосный год
            {
                switch (month2)
                {
                    case 1: {B = Jan2 = day2; }break;
                    case 2: {B = Feb2 = day2 + 31; }break;
                    case 3: {B = Mar2 = day2 + 31 + 29; }break;
                    case 4: {B = Apr2 = day2 + 31 + 29 + 31; }break;
                    case 5: {B = May2 = day2 + 31 + 29 + 31 + 30; }break;
                    case 6: {B = Jun2 = day2 + 31 + 29 + 31 + 30 + 31; }break;
                    case 7: {B = Jul2 = day2 + 31 + 29 + 31 + 30 + 31 + 30; }break;
                    case 8: {B = Aug2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31; }break;
                    case 9: {B = Sep2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31; }break;
                    case 10: {B = Oct2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 30; }break;
                    case 11: {B = Nov2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30; }break;
                    case 12: {B = Dec2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31; }break;
                                    // В = сделано для дальнейшей работы в случае попадание в конкретный кейс 
                default: cout << "Такого месяца не существует!" << endl;
                }
            }
            else if (year1 % 100 != 0)// Проверка на не високосный год
            {
                switch (month2)
                {
                    case 1: {B = Jan2 = day2; }break;
                    case 2: {B = Feb2 = day2 + 31; }break;
                    case 3: {B = Mar2 = day2 + 31 + 28; }break;
                    case 4: {B = Apr2 = day2 + 31 + 28 + 31; }break;
                    case 5: {B = May2 = day2 + 31 + 28 + 31 + 30; }break;
                    case 6: {B = Jun2 = day2 + 31 + 28 + 31 + 30 + 31; }break;
                    case 7: {B = Jul2 = day2 + 31 + 28 + 31 + 30 + 31 + 30; }break;
                    case 8: {B = Aug2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31; }break;
                    case 9: {B = Sep2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31; }break;
                    case 10: {B = Oct2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 30; }break;
                    case 11: {B = Nov2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30; }break;
                    case 12: {B = Dec2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31; }break;
                                    // В = сделано для дальнейшей работы в случае попадание в конкретный кейс 
                default: cout << "Такого месяца не существует!" << endl;
                }
            }
 
            diff = (B - A) + 365 + (year2 - year1) ;// Формула странная, но рабочая
 
            cout << "Разница между годами: " << diff << " дней" << endl;
 
        }break;
        default: cout << "Такого варианта нет!" << endl;
    }
    system("pause");
}
0
0 / 0 / 0
Регистрация: 13.01.2020
Сообщений: 4
14.01.2020, 16:52 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;
 
void main()
{
    setlocale(LC_ALL, "Rus");
 
    int choice;
 
    cout << "Введите вариант задания -->" ;
 
    cin >> choice;
 
    switch (choice)
    {
        case 1:
        {
            int day1, month1, year1, day2, month2, year2, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec;
 
            int diff, diff_in_years, A, B, Jan2, Feb2, Mar2, Apr2, May2, Jun2, Jul2, Aug2, Sep2, Oct2, Nov2, Dec2;
 
            cout << "Введите кол-во дней 1-го года: " << endl;
 
            cin >> day1;
 
            cout << "Введите кол-во месяцев 1-го года: " << endl;
 
            cin >> month1;
 
            cout << "Введите 1-ый год: " << endl;
 
            cin >> year1;
 
            if (year1 % 400 == 0 || year1 % 4 == 0)
            {
                switch (month1)
                {
                    case 1: {A = Jan = day1; }break;
                    case 2: {A = Feb = day1 + 31; }break;
                    case 3: {A = Mar = day1 + 31 + 29; }break;
                    case 4: {A = Apr = day1 + 31 + 29 + 31; }break;
                    case 5: {A = May = day1 + 31 + 29 + 31 + 30; }break;
                    case 6: {A = Jun = day1 + 31 + 29 + 31 + 30 + 31; }break;
                    case 7: {A = Jul = day1 + 31 + 29 + 31 + 30 + 31 + 30; }break;
                    case 8: {A = Aug = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31; }break;
                    case 9: {A = Sep = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31; }break;
                    case 10: {A = Oct = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 30; }break;
                    case 11: {A = Nov = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30; }break;
                    case 12: {A = Dec = day1 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31; }break;
 
                    default: cout << "Такого месяца не существует!" << endl;
                }
            }
            else if (year1 % 100 != 0)
            {
                switch (month1)
                {
                    case 1: {A = Jan = day1; }break;
                    case 2: {A = Feb = day1 + 31; }break;
                    case 3: {A = Mar = day1 + 31 + 28; }break;
                    case 4: {A = Apr = day1 + 31 + 28 + 31; }break;
                    case 5: {A = May = day1 + 31 + 28 + 31 + 30; }break;
                    case 6: {A = Jun = day1 + 31 + 28 + 31 + 30 + 31; }break;
                    case 7: {A = Jul = day1 + 31 + 28 + 31 + 30 + 31 + 30; }break;
                    case 8: {A = Aug = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31; }break;
                    case 9: {A = Sep = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31; }break;
                    case 10: {A = Oct = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 30; }break;
                    case 11: {A = Nov = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30; }break;
                    case 12: {A = Dec = day1 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31; }break;
 
                default: cout << "Такого месяца не существует!" << endl;
                }
            }
 
            cout << "Введите кол-во дней 2-го года: " << endl;
 
            cin >> day2;
 
            cout << "Введите кол-во месяцев 2-го года: " << endl;
 
            cin >> month2;
 
            cout << "Введите 2-ой год: " << endl;
 
            cin >> year2;
 
            if (year1 % 400 == 0 || year1 % 4 == 0)
            {
                switch (month2)
                {
                    case 1: {B = Jan2 = day2; }break;
                    case 2: {B = Feb2 = day2 + 31; }break;
                    case 3: {B = Mar2 = day2 + 31 + 29; }break;
                    case 4: {B = Apr2 = day2 + 31 + 29 + 31; }break;
                    case 5: {B = May2 = day2 + 31 + 29 + 31 + 30; }break;
                    case 6: {B = Jun2 = day2 + 31 + 29 + 31 + 30 + 31; }break;
                    case 7: {B = Jul2 = day2 + 31 + 29 + 31 + 30 + 31 + 30; }break;
                    case 8: {B = Aug2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31; }break;
                    case 9: {B = Sep2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31; }break;
                    case 10: {B = Oct2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 30; }break;
                    case 11: {B = Nov2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30; }break;
                    case 12: {B = Dec2 = day2 + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31; }break;
 
                default: cout << "Такого месяца не существует!" << endl;
                }
            }
            else if (year1 % 100 != 0)
            {
                switch (month2)
                {
                    case 1: {B = Jan2 = day2; }break;
                    case 2: {B = Feb2 = day2 + 31; }break;
                    case 3: {B = Mar2 = day2 + 31 + 28; }break;
                    case 4: {B = Apr2 = day2 + 31 + 28 + 31; }break;
                    case 5: {B = May2 = day2 + 31 + 28 + 31 + 30; }break;
                    case 6: {B = Jun2 = day2 + 31 + 28 + 31 + 30 + 31; }break;
                    case 7: {B = Jul2 = day2 + 31 + 28 + 31 + 30 + 31 + 30; }break;
                    case 8: {B = Aug2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31; }break;
                    case 9: {B = Sep2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31; }break;
                    case 10: {B = Oct2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 30; }break;
                    case 11: {B = Nov2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30; }break;
                    case 12: {B = Dec2 = day2 + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31; }break;
 
                default: cout << "Такого месяца не существует!" << endl;
                }
            }
            diff_in_years = year2 - year1;
 
            diff = (B - A) + (365 * diff_in_years) + diff_in_years;
 
            cout << "Разница между годами: " << diff << " дней" << endl;
 
        }break;
 
        default: cout << "Такого варианта нет!" << endl;
    }
    system("pause");
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2020, 16:52

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

Вычислить количество дней между двумя датами
Даны натуральные числа a1, b1, c1, a2, b2, c2, которые указывают две даты (число, месяц, год)....

Посчитать количество дней между двумя датами
читал на форуме похожие темы, даже нашел целый код, но он мне кажется мудреным, да и использовать...

Функция, считающая количество дней между двумя датами
нужна вот сюда функция, считающая количество дней между двумя датами всё задание звучит так:...

Рассчитать количество дней, прошедших между двумя датами
Помогите решить ТОЛЬКО с помощью циклов и условного оператора 3.Два дать заданные натуральными...


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

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

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