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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Не могу разобраться с оператором while http://www.cyberforum.ru/cpp-beginners/thread1812653.html
Столкнулся со странной проблемой. В простой программе цикл с условие while работает неправильно. Подскажите в чём проблема? Эта часть программы должна считать сумму чисел из промежутка от 1 до N включительно. #include <iostream> #include <conio.h> using std::cin; using std::cout; int main() { int N,a=0,S=0,i=1; cin>>N;
C++ Произведение матриц Всем привет. Пожалуйста подскажите, в чем ошибка? #include <iostream> using namespace std; int main(){ setlocale(LC_ALL, "Russian"); int n, m; cout << "Введите размер матрицы:\n"; cout << "Количество столбцов: "; cin >> n; cout << "Количество строк: "; http://www.cyberforum.ru/cpp-beginners/thread1812616.html
Проверить, делится ли без остатка заданное натуральное число на каждую из своих цифр C++
Мне нужно написать прогу, но нужно выполнить её без использования строк и массивов задание такое: Проверить, делится ли заданное натуральное число на каждую из своих цифр. заранее спасибо
Поиск минимального значения с помощью тернарного оператора C++
А кто подскажет,как найти минимальное значение с помощью тернарного оператора? f(3,5) . Только не сравнение,а именно поиск
C++ Условные операторы с++ http://www.cyberforum.ru/cpp-beginners/thread1812602.html
Доброго времени программисты, ищу спасения на вашем портале! Писал программу: Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для x, изменяющегося от a до b с шагом h = (b – a)/10 я ее сделал, но ответы не совпадают.... Скрин задания прилагаю. вот что у меня тут не так? помогите разобраться, и поставить меня на верный путь. #include <iostream> #include <iomanip>
 

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2796 / 1572 / 246
Регистрация: 03.05.2010
Сообщений: 3,649
24.09.2016, 08:44     Определить дату следующего дня (задача)
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
}
 
Текущее время: 06:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru