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

Определить дату следующего дня (задача) - C++

Восстановить пароль Регистрация
 
Gold_fish9
0 / 0 / 0
Регистрация: 24.09.2016
Сообщений: 1
24.09.2016, 06:05     Определить дату следующего дня (задача) #1
По дате (день:месяц:год) определить и вывести дату следующего дня (учитывать вариант високосного года).
Используя switch.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2016, 06:05     Определить дату следующего дня (задача)
Посмотрите здесь:

C++ Определить дату предыдущего дня
C++ Вывести на экран дату следующего дня
Определить дату по номеру дня и года C++
По заданным дню и месяцу определить дату предыдущего и следующего дней C++
C++ Определить дату Дня Учителя в заданном году
Ввести одну дату и вывести дату следующего дня C++
C++ Получить день и номер месяца и определить дату следующего дня (считать год невисокосным)
C++ Задана некоторая дата. Определить дату следующего дня

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mr.X
Эксперт С++
 Аватар для Mr.X
2805 / 1581 / 248
Регистрация: 03.05.2010
Сообщений: 3,684
24.09.2016, 08:44     Определить дату следующего дня (задача) #2
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
//По дате (день:месяц:год) определить и вывести дату следующего дня
//(учитывать вариант високосного года). Используя switch.
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
///////////////////////////////////////////////////////////////////////////////
bool    is_leap( int    y )
{
    return          y   %   4       ==  0
                &&  y   %   100     !=  0
            ||      y   %   400     ==  0;
}
///////////////////////////////////////////////////////////////////////////////
int     max_day
    (
        int     m,
        int     y
    )
{
    switch(m)
    {
    case    2   :
        return  28 + is_leap(y);
 
    case    4   :
    case    6   :
    case    9   :
    case    11  :
        return  30;
 
    default     :
        return  31;
    }//switch
}
///////////////////////////////////////////////////////////////////////////////
bool    date_is_correct
    (
        int     d,
        int     m,
        int     y
    )
{
    return      d   >=  1
            &&  d   <=  max_day(m, y)
 
            &&  m   >=  1
            &&  m   <=  12;
}
///////////////////////////////////////////////////////////////////////////////
void    inc_date
    (
        int     &   d,
        int     &   m,
        int     &   y
    )
{
    if  (
            d   <   max_day(m, y)
        )
    {
        ++d;
    }
    else
    {
        d   =   1;
 
        if( m < 12 )
        {
            ++m;
        }
        else
        {
            m   =   1;
            ++y;
        }
    }//else
}
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    for(;;)
    {
        int     d{};
        int     m{};
        int     y{};
 
        std::cout   <<  "day\t: ";
        std::cin    >>  d;
 
        std::cout   <<  "month\t: ";
        std::cin    >>  m;
 
        std::cout   <<  "year\t: ";
        std::cin    >>  y;
 
        if  (
                !date_is_correct(d, m, y)
            )
        {
            std::cout   <<  "date is not correct";
        }
        else
        {
            inc_date
                (
                    d,
                    m,
                    y
                );
 
            std::cout   <<  d   <<  "."
                        <<  m   <<  "."
                        <<  y;
        }
 
        std::cout   <<  std::endl
                    <<  std::endl;
    }//for
}
Yandex
Объявления
24.09.2016, 08:44     Определить дату следующего дня (задача)
Ответ Создать тему

Метки
c++, для начинающих, задача, помощь
Опции темы

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