# PBinfo #454 – calendar – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerinţa
Se citesc 3 numere naturale z l a. Să se decidă dacă reprezintă o dată calendaristică corectă, în format zi luna an.

Date de intrare
Programul citește de la tastatură numerele z l a.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă cele trei numere formează o dată calendaristică corectă, respectiv NU în caz contrar.

Restricţii şi precizări

1850 ≤ a ≤ 2500
0 ≤ z,l ≤ 100

Exemplu:
Intrare

29 2 2000
Ieșire

DA

## Cod sursă C++

```cpp
#include <iostream> 
using namespace std;
int main() {   
    int z, l, a; 
    cin >> z >> l >> a;
    if ((l == 1 || l == 3 || l == 5 || l == 7 || l == 8 || l == 10 || l == 12) && z <= 31) cout << "DA";  
    else if ((l == 4 || l == 6 || l == 9 || l == 11 ) && z <= 30) cout << "DA"; 
    else if (l == 2 && z <= 29 && a % 4 == 0 && (a % 100 != 0 || a % 400 == 0)) cout << "DA"; 
    else if (l == 2 && z <= 29 && a % 4 == 0 && (a % 400 !=0)) cout << "NU"; 
    else cout << "NU";
    return 0; 
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/454)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/454/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-454/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
