👤

Se citesc 3 numere naturale z1 l1 a1, reprezentând o dată calendaristică corectă, în format zi luna an. Să se afişeze data zilei următoare. Programul citeşte de la tastatură numerele z1 l1 a1. Programul afişează pe ecran numerele z2 l2 a2, separate prin exact un spațiu, reprezentând data zilei următoare.Restricții şi precizări -data calendaristică citită este corectă. PROGRAMUL TREBUIE SĂ FIE ÎN C++ ŞI SĂ FIE REZOLVAT CU "IF".

Răspuns :

uite aici varianta mea:
#include <iostream>

using namespace std;

int main()
{
     int z1,l1,a1;
     bool test=false;
     cin>>z1>>l1>>a1;
     if((a1%4==0 && a1%100!=0) || a1%400==0)
        test=true;
    if(l1==1 || l1==3 || l1==5 || l1==7 || l1==8 || l1==10)
    {
        if(z1<31)
        {
            cout<<z1+1<<" "<<l1<<" "<<a1;
            return 0;
        }
        else
        {
            cout<<"1"<<" "<<l1+1<<" "<<a1;
        }
    }
    if(l1==4 || l1==6 || l1==9 || l1==11)
    {
        if(z1<30)
        {
            cout<<z1+1<<" "<<l1<<" "<<a1;
            return 0;
        }
        else
        {
            cout<<"1"<<" "<<l1+1<<" "<<a1;
        }
    }
    if(l1==12)
    {
        if(z1<31)
        {
            cout<<z1+1<<" "<<l1<<" "<<a1;
            return 0;
        }
        else
        {
            cout<<"1"<<" "<<"1"<<" "<<a1+1;
            return 0;
        }
    }
    if(l1==2)
    {
        if(test)
        {
            if(z1<29)
            {
                cout<<z1+1<<" "<<l1<<" "<<a1;
                return 0;
            }
            else
            {
                cout<<"1"<<" "<<l1+1<<" "<<a1;
                return 0;
            }
        }
        else
        {
            if(z1<28)
            {
                cout<<z1+1<<" "<<l1<<" "<<a1;
                return 0;
            }
            else
            {
                cout<<"1"<<" "<<l1+1<<" "<<a1;
                return 0;
            }
        }
    }
}