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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
ugosdaryn
2 / 2 / 1
Регистрация: 17.12.2009
Сообщений: 77
#1

Високосный год - C++

19.09.2010, 09:49. Просмотров 1640. Ответов 2
Метки нет (Все метки)

Даны три натуральных числа a, b, c представляющих день месяц и год. Для примера 1, 4, 1991 представляет 1-ое апреля 1991 года.
Вывести три числа, представляющие следующую дату.
Пример:
ввод:
1 4 1991
вывод:
2 4 1991
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2010, 09:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Високосный год (C++):

Вывод на экран монитора словами "День, Месяц, Високосный/Не високосный год" - C++
Добрый день Появилась такая вот краказябра Когда ввожу любое число для переменной d, вместо названия дня он постоянно выдает ошибку. Не...

Создайте класс «Дата» со свойствами год, високосный год, месяц, день месяца и день недели - C++
Создайте класс «Дата» со свойствами год, високосный год, месяц, день месяца и день недели. Создайте для него метод котрый бы...

високосный год - C++
Написать программу, в которой с клавиатуры вводятся два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года....

Високосный год - C++
Трабл с кодом, ничего не могу понять. Посмотрите, пожалуйста. Вот, что выдает компилятор Line 7: error: multi-character character...

високосный год - C++
Год является високосными, если его номер кратен 4, однако из кратных 10 високоснымы является лишь кратные 400, например 1900-невисокосные...

Определить, високосный ли год - C++
Помогите написать программу на языке си (разветвляющиеся алгоритмы) используя оператор варианта switch Условие задачи: По заданной дате...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
19.09.2010, 10:51 #2
Точно такое же задание: Получить тройку чисел, соответствующих следующему дню
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
19.09.2010, 10:53 #3
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
/////////////////////////////////////////////////////////////////////////////////////
//  Даны три натуральных числа a, b, c представляющих день месяц и год. 
//  Для примера 1, 4, 1991 представляет 1-ое апреля 1991 года.
//  Вывести три числа, представляющие следующую дату.
//  Пример:
//  ввод:
//  1 4 1991
//  вывод:
//  2 4 1991 
/////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
 
void print_next_date(int day, int month, int year)
{
    const int START_YEAR = 1582;
    if(year <= START_YEAR)
    {
        std::cout << "Год должен быть > " 
                  << START_YEAR
                  << "."
                  << std::endl;
        return;
    }
    const int MIN_MONTH = 1;
    const int MAX_MONTH = 12;
    if(month < MIN_MONTH || MAX_MONTH < month)
    {
        std::cout << "Номер месяца должен принадлежать отрезку [" 
                  << MIN_MONTH
                  << ", "
                  << MAX_MONTH
                  << "]."
                  << std::endl;
        return;    
    }
 
    const int MIN_DAY = 1;
 
    if(day < MIN_DAY)
    {
        std::cout << "Число должно быть >= " 
                  << MIN_DAY
                  << "."
                  << std::endl;
        return;
    }
 
    const int MAX_DAY[] = {
                              31, 28, 31, 
                              30, 31, 30, 
                              31, 31, 30, 
                              31, 30, 31
                          };
 
    int the_max_day = MAX_DAY[month - 1];
 
    bool is_leap_year = year % 400 == 0
                        || year % 100 != 0
                           && year % 4 == 0;
 
    if(month == 2 && is_leap_year)
    {
        ++the_max_day;
    }
 
    if(the_max_day < day)
    {
        std::cout << "Число должно быть <= " 
                  << the_max_day
                  << "."
                  << std::endl;
        return;    
    }
 
    if(day < the_max_day)
    {
        std::cout << day + 1
                  << ' '
                  << month
                  << ' '
                  << year
                  << std::endl;
    }
    else if(month < MAX_MONTH)
    {
        std::cout << MIN_DAY
                  << ' '
                  << month + 1
                  << ' '
                  << year
                  << std::endl;    
    }
    else
    {
        std::cout << MIN_DAY
                  << ' '
                  << MIN_MONTH
                  << ' '
                  << year + 1
                  << std::endl;        
    }
}
 
int main()
{
    std::locale::global(std::locale(""));
    for(;;)
    {
        std::cout << std::endl
                  << std::endl
                  << std::endl
                  << "День:  ";
        int day;
        std::cin >> day;
 
        std::cout << "Месяц: ";
        int month;
        std::cin >> month;
 
        std::cout << "Год:   ";
        int year;
        std::cin >> year;    
 
        print_next_date(day, month, year);
    }    
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2010, 10:53
Привет! Вот еще темы с ответами:

Не работает проверка на високосный год - C++
//--------------------------------------------------------------------------- #pragma hdrstop ...

Определить близжайший високосный год - C++
Определить ближайший високосный год, следующий за данным годом.

Что такое високосный год? - C++
Всем привет! Я начинающий в программировании, а точнее первокурсник в университете IT. Вы проходим массивы в данный момент. И нам дали 25...

Проверить, високосный ли год, и вычислить сколько членов семьи родились в високосные годы - C++
Пожалуйста напишите код буду благодарна * Используя функцию year проверки ли год високосным, вычислить, сколько членов вашей семьи...


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

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

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