Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.09.2020
Сообщений: 58

По заданной дате определить дату следующего дня

18.09.2020, 15:31. Показов 3806. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить эту задачу. Сам написал но всеравно что то не так. Прошу использовать простые коды чтобы было понятно новичкам.

 Комментарий модератора 
П.5.18.Правил
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
Нужно переписывать (а заодно могли бы и перевести)

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
#include<iostream>
#include<cmath>
 
using namespace std;
 
int main()
{
int a, b, c;
cin >> a >> b >> c;
 
if ( a <= 30 && (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 ))
{
cout <<a+1<<" "<<b<<" "<<c;
return 0;
}
if ( a = 31 && (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 ))
{
cout<<a+1 <<" "<<b+1<<" "<<c;
return 0;
}
if ( a = 31 &&  b == 12 )
{
cout<<"1"<<" "<<"1"<<" "<<c+1;
return 0;
}
if ( a<=29 && (b == 4 || b == 6 || b == 9 || b == 11))
{
cout << a+1<<" "<<b<<" "<<c;
 return 0;
}
if ( a=30 && (b == 4 || b == 6 || b == 9 || b == 11))
{
cout <<"1"<<" "<<b+1<<" "<<c;
return 0;
}
if (a < 29 && ((b == 2 && c % 4 == 0 && c % 100 != 0) || c % 400 == 0)) 
{
cout << a+1 <<" "<<b<<" "<<c;
 return 0;
}
if (a = 29 && ((b == 2 && c % 4 == 0 && c % 100 != 0) || c % 400 == 0)) 
{
cout <<"1"<<" "<<b+1<<" "<<c;
 return 0;
}
if (a <= 27 && b == 2) 
{
cout << a <<" "<<b<<" "<<c;
 return 0;
}
 if (a = 28 && b == 2) 
{
cout <<"1"<<" "<<b+1<<" "<<c ;
 return 0;
}
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2020, 15:31
Ответы с готовыми решениями:

По дате d,m,y определить дату следующего дня d1,m1,y1( d-день , m-месяц, y-год). Использовать оператор switch
По дате d,m,y определить дату следующего дня d1,m1,y1( d-день , m-месяц, y-год). Использовать оператор switch

По заданной дате определить дату предыдущего дня
По дате d(день) m(месяц) и y(год) определить дату d1(день) m1(месяц) и y1(год) предшествующего дня.

Определить дату следующего дня
Помогите пожалуйста: задана некоторая дата(d,m,y) (0&lt;=d&lt;=31 0&lt;=m&lt;=12 2000&lt;=y&lt;=2019). определить дату следующего дня. Заранее...

7
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
18.09.2020, 16:16
Лучший ответ Сообщение было отмечено anonymys56964 как решение

Решение

anonymys56964, я бы делал по-другому:
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
#include "iostream" 
using namespace std;
 
bool isBissextile(int year)     //год високосный?
{
    return (year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0));
}
 
int main()
{
    int day, month, year;
    int cMonthsDays[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
 
    cout << "Enter day month year: ";
    cin >> day >> month >> year;
 
    if (month == 2)                                             //февраль
    {
        if (day >= cMonthsDays[month - 1] + isBissextile(year)) //28 или 29
        {
            day = 1;
            month++;
        }
        else
            day++;
    }
    else if (day >= cMonthsDays[month - 1])
    {
        if (month == 12)
        {
            day = 1;
            month = 1;
            year++;
        }
        else
        {
            day = 1;
            month++;
        }
    }
    else
        day++;
    cout << day << "." << month << "." << year << endl;
}
0
0 / 0 / 0
Регистрация: 17.09.2020
Сообщений: 58
18.09.2020, 16:35  [ТС]
Спасибо вам большое. Но
if (day >= cMonthsDays[month - 1] + isBissextile(year)) //28 или 29
что означает скобка в котором написано month -1
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
18.09.2020, 16:45
anonymys56964, cMonthsDays - массив, в котором записаны максимальные количества дней для 12 месяцев. Для февраля - 28, как для невисокосного года. Если год високосный, то добавится единица или нуль, как результат проверки на високостность (true == 1)
А в скобках индекс по этому массиву, которым служит номер месяца. Но т.к. счет идет с единицы, то отнимаем 1
0
0 / 0 / 0
Регистрация: 17.09.2020
Сообщений: 58
18.09.2020, 16:50  [ТС]
эхх а нам нельзя использовать массивы. но все же спасибо
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
18.09.2020, 16:52
Цитата Сообщение от anonymys56964 Посмотреть сообщение
а нам нельзя использовать массивы
Об этом ничего не было сказано
Ну создай функцию, которая будет возвращать число дней при помощи анализа номера месяца, используя switch
0
0 / 0 / 0
Регистрация: 17.09.2020
Сообщений: 58
18.09.2020, 17:22  [ТС]
я не знаю как. Может быть вы напишите?)))))))
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
18.09.2020, 17:37
anonymys56964,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int GetMonthMax(int month)
{
    switch (month)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            return 31;
        case 4:
        case 6:
        case 9:
        case 11:
            return 30;
        case 2:         //февраль
            return 28;
        default:
            return -1;  //ошибка
    }
}
Везде, где cMonthsDays[month - 1] пишем GetMonthMax(month)
Массив убираем
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2020, 17:37
Помогаю со студенческими работами здесь

Определить дату следующего дня (задача)
По дате (день:месяц:год) определить и вывести дату следующего дня (учитывать вариант високосного года). Используя switch.

Задана некоторая дата. Определить дату следующего дня
Задана некоторая дата. Определить дату следующего дня. Входные данные Даны 3 числа: 1&lt;=d&lt;=31, 1&lt;=m&lt;=12 и...

Получить день и номер месяца и определить дату следующего дня (считать год невисокосным)
Напишите программу, которая получает день и номер месяца и определяет дату следующего дня. Считайте, что год невисокосный (365 дней). ...

Ввести одну дату и вывести дату следующего дня
Примеры: 1) Введите дату в программу, и она должна вывести вам дату следующего дня. (Например: input: 27.02.2015, output: 28.02.2015)

Функция определяющая дату следующего дня
Ребята, помогите пожалуйста перевести код с Pascal на C++. Или хотя бы функции и процедуры, а то это для меня что-то новенькое. {...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru