Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- using namespace std;
- class DataCalendaristica {
- private:
- int zi;
- int luna;
- int an;
- public:
- DataCalendaristica(int _zi = 1, int _luna = 1, int _an = 1700);
- static bool isA_ValidDate(int _zi, int _luna, int _an);
- void readDate();
- void displayDate();
- };
- //constructor de initializare
- DataCalendaristica::DataCalendaristica(int _zi, int _luna, int _an) {
- zi = _zi;
- luna = _luna;
- an = _an;
- }
- //Functie pentru verificare datei
- bool DataCalendaristica::isA_ValidDate(int _zi, int _luna, int _an) {
- int nrZileLuna[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
- if (_an % 4 == 0) {
- nrZileLuna[1] = 29;
- }
- if (_luna > 12 || _zi > nrZileLuna[_luna - 1] || _luna < 1 || _zi < 1) {
- return false;
- }
- else {
- return true;
- }
- }
- void DataCalendaristica::readDate() {
- cout << "Zi : ";
- cin >> zi;
- cout << "Luna : ";
- cin >> luna;
- cout << "An : ";
- cin >> an;
- }
- //afisarea unei date
- void DataCalendaristica::displayDate() {
- int format;
- if (isA_ValidDate(zi, luna, an)) {
- do {
- cout << "Introduceti tipul formatului : \n";
- cout << "1. zz/ll/aaaa \n";
- cout << "2. ll/zz/aaaa \n";
- cout << "3. aaaa/ll/zz \n";
- cin >> format;
- } while (format < 1 || format > 3);
- switch (format) {
- case 1:
- cout << "\nData este : \n";
- cout << "\n" << zi << "/" << luna << "/" << an << "\n";
- break;
- case 2:
- cout << "\nData este : \n";
- cout << "\n" << luna << "/" << zi << "/" << an << "\n";
- break;
- case 3:
- cout << "\nData este : \n";
- cout << "\n" << an << "/" << luna << "/" << zi << "\n";
- break;
- }
- }
- else {
- cout << "\nData introdusa nu este una valida!\n";
- }
- }
- void main() {
- DataCalendaristica data;
- data.displayDate();
- data.readDate();
- data.displayDate();
- _getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement