В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Adelyasweet246
Adelyasweet246
25.11.2020 00:42 •  Информатика

C++ как сделать, чтобы находило еще предыдущий день? ? #include "stdafx.h" #include using namespace std; int main() { int d, m, y, i; int max[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; setlocale(lc_all, "russian"); cout < < "введите день(число)"; cin > > d; cout < < "введите месяц(число)"; cin > > m; cout < < "введите год(число)"; cin > > y; if (y % 4 == 0 & & y % 100 ! = 0 || y % 400 == 0) max[1]++; for (i = 0; i < 12; i++) if (i + 1 == m & d == max[i]) { d = 1; m++; break; } if (i == 12) d++; if (m == 13) { m = 1; y++; } cout < < d < < " " < < m < < " " < < y; return 0; }

Показать ответ
Ответ:
ива357
ива357
08.10.2020 16:08
Начнем с того, что исправим текущий код. У вас используется цикл, но он совершенно здесь не нужен.
Вот программа без цикла. 

#include "stdafx.h"

#include <iostream>

using namespace std;

int main()

{

int d, m, y, i;

int max[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

setlocale(0, "");

cout << "Введите день(число)";

cin >> d;

cout << "Введите месяц(число)";

cin >> m;

cout << "Введите год(число)";

cin >> y;

if ( (y % 4 == 0 && y % 100 != 0) || y % 400 == 0) //Проверка что год високосный

max[1]++;

if( d == max[m-1])

{

d = 1;

m++;

}

else

    d++;


if (m == 13)

{

m = 1;

y++;

}

cout << d << " " << m << " " << y;


cin >> d;//Ожидание ввода, чтобы посмотреть результаты пработы программы

return 0;

}


Эта программа определяет следующий день от текущего.


А вот программа, которая определяет предыдущий день.

#include "stdafx.h"

#include <iostream>

using namespace std;

int main()

{

int d, m, y, i;

int max[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

setlocale(0, "");

cout << "Введите день(число)";

cin >> d;

cout << "Введите месяц(число)";

cin >> m;

cout << "Введите год(число)";

cin >> y;

if ( (y % 4 == 0 && y % 100 != 0) || y % 400 == 0) //Проверка что год високосный

max[1]++;

if( d == 1)

{

if (m == 1)

{

m = 12;

y--;

}

else

m--;


d = max[m - 1];

}

else

    d--;


cout << d << " " << m << " " << y;


cin >> d;//Ожидание ввода, чтобы посмотреть результаты пработы программы

return 0;

}




0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота