C++ Как сделать, чтоб находило еще предыдущий денек?? include "stdafx.h"include using

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 lt;lt; "Введите день(число)";
cin gt;gt; d;
cout lt;lt; "Введите месяц(число)";
cin gt;gt; m;
cout lt;lt; "Введите год(число)";
cin gt;gt; y;
if (y % 4 == 0 amp;amp; y % 100 != 0 y % 400 == 0)
max[1]++;
for (i = 0; i lt; 12; i++)
if (i + 1 == m amp; d == max[i])

d = 1;
m++;
break;

if (i == 12)
d++;
if (m == 13)

m = 1;
y++;

cout lt;lt; d lt;lt; " " lt;lt; m lt;lt; " " lt;lt; y;
return 0;

Задать свой вопрос
Никита
Что вообщем обязана делать ваша программка?
1 ответ
Начнем с того, что исправим текущий код. У вас употребляется цикл, но он абсолютно тут не нужен.
Вот программка без цикла. 

include "stdafx.h"

include lt;iostreamgt;

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 lt;lt; "Введите денек(число)";

cin gt;gt; d;

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

cin gt;gt; m;

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

cin gt;gt; y;

if ( (y % 4 == 0 amp;amp; 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 lt;lt; d lt;lt; " " lt;lt; m lt;lt; " " lt;lt; y;


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

return 0;


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


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

include "stdafx.h"

include lt;iostreamgt;

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 lt;lt; "Введите денек(число)";

cin gt;gt; d;

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

cin gt;gt; m;

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

cin gt;gt; y;

if ( (y % 4 == 0 amp;amp; 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 lt;lt; d lt;lt; " " lt;lt; m lt;lt; " " lt;lt; y;


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

return 0;




Плещеева Таисия
Как сделать, чтоб это все в одной задаче было??
Роднев Арсений
можешь подсказать? Отдельно разумею, а скооперировать никак не выходит
Галина Потова
Попробуйте сами. Глядите, после ввода d m y, вам необходимо их присвоить переменным d1, m1, y1. И тогда уже любая часть кода будет работать со своими переменными и не будет неурядицы.
Zhenja Shuhalov
попробую, спасибо огромное\
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт