Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 05.11.2014
Сообщений: 2
1

На вход подается дата. Нужно вывести на экран, какая дата будет через 29 дней 12 часов и 44 минуты

05.11.2014, 18:17. Показов 1398. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На входе заданы дата и время в формате «год, месяц, день, часы, минуты» (все числа даны через пробел). Год задан четырехзначным числом, большим 1600.
Проблема такая, я не могу придумать способ, который решает эту пробему :
вход 2014 01 31 23 59
выход 2014 02 30 12 43

вот мой код. посоветуйте, что надо убрать, а что надо добавить.

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
#include <iostream>;
using namespace std;
 
int main() {
    int year, month, day, hour, min;
    cin >> year >> month >> day >> hour >> min;
    hour += 12;
    day += 29;
    min += 44;
    if (min >= 60) {
        ++hour;
        min %= 60;
    }
    if (hour >= 24) {
        ++day;
        hour %= 24;
    }
    if (month == 1 || month == 3 || month == 5 || month == 7
        || month == 8 || month == 10 || month == 12) {
        if (day > 31) {
            ++month;
            day %= 31;
        }
    } else if (month == 2) {
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            if (day > 29) {
                ++month;
                day %= 29;
            }
        } else {
            if (day > 28) {
                ++month;
                day %= 28;
                }
        }
    } else {
    if (day > 30) {
        ++month;
        day %= 30;
    }
    }
if (month > 12) {
    ++year;
    month %= 12;
}
cout << year << " " << month << " " << day
<< " " << hour << " " << min << endl;
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2014, 18:17
Ответы с готовыми решениями:

Дата хранится в виде записи; определить, какая дата будет через А дней
Сегодняшняя дата хранится в записи с тремя полями. Определить, какая дата будет через А дней.

Дается две даты: дата начала и дата окончания. Высчитать между ними часы, минуты, секунды
Здравствуйте многоуважаемые форумчане!!! Прошу Вас помочь новичку сколько бьюсь над этой темой...

Ввести две даты, вывести на экран и определить, какая дата раньше
когда нажимаю печать на экран(пункт 2), выводит 0, может не запоминает кода ввожу даты,...

Узнать количество дней (дата заезда и дата отъезда)
Есть 2 dateTimePicker: dateTimePicker1 - Дата заезда dateTimePicker2 - Дата отъезда Нужно...

1
15 / 15 / 3
Регистрация: 04.02.2013
Сообщений: 124
05.11.2014, 19:06 2
Нужна еще одна проверка номера месяца, т.к., если наступит февраль, остаток дней от января все равно может перевалить 28 или 29 дней. if (month == 2) { ++month; day %= 28} или day %= 29, если год високосный.
PS: после директив препроцессора точка с запятой не нужна.

Добавлено через 4 минуты
и еще: else { if (){ ... }} - конечно, синтаксически допустимо, но бессмысленно. Идиома if () {...} else if () {...} else {...}
0
05.11.2014, 19:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2014, 19:06
Помогаю со студенческими работами здесь

На вход подается URL. Вывести на экран атрибуты
Всем здравствуйте! Запутался в итерациях, просьба разъяснить. Задача: на вход подается ссылка,...

Дата и дата+10 дней в запросе
Доброе время суток! Пишу прогу, работающую с базой DB2. Стоит следующая задача: необходимо...

Кто дописать может проверку на дату чтобы дата если дата будет введена больше чем 12.30.2020 просило ввести заново
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;conio.h&gt; #include &lt;cstring&gt; #include &lt;cstdio&gt;...

На вход посимвольно подается последовательность 0 и 1, необходимо подсчитать количество 0 и 1 и вывести на экран
Доброго времени суток. Имеется код на С++ int _tmain(int argc, _TCHAR* argv) { int z; int...

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

Trunc() и Abs() (На вход программе подается вещественное число Х. Получить и вывести на экран целое значение Z)
На вход программе подается вещественное число Х. Получить и вывести на экран целое значение Z: Z =...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru