• 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;
    }

Ответы 5

  • Как сделать, чтобы это все в одной задаче было??
  • можешь подсказать? Отдельно понимаю, а совместить никак не получается
    • Автор:

      john38
    • 5 лет назад
    • 0
  • Попробуйте сами. Смотрите, после ввода d m y, вам нужно их присвоить переменным d1, m1, y1. И тогда уже каждая часть кода будет работать со своими переменными и не будет путаницы.
  • попробую, спасибо большое\
    • Автор:

      paisley
    • 5 лет назад
    • 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 == 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;

    }

    • Автор:

      skylayork
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years