Advertisement
Dr4noel

DateCalenedaristice

Apr 21st, 2018
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. using namespace std;
  5.  
  6. class DataCalendaristica {
  7. private:
  8.     int zi;
  9.     int luna;
  10.     int an;
  11. public:
  12.     DataCalendaristica(int _zi = 1, int _luna = 1, int _an = 1700);
  13.  
  14.     static bool isA_ValidDate(int _zi, int _luna, int _an);
  15.  
  16.     void readDate();
  17.  
  18.     void displayDate();
  19.  
  20. };
  21.  
  22. //constructor de initializare
  23. DataCalendaristica::DataCalendaristica(int _zi, int _luna, int _an) {
  24.     zi = _zi;
  25.     luna = _luna;
  26.     an = _an;
  27. }
  28.  
  29. //Functie pentru verificare datei
  30. bool DataCalendaristica::isA_ValidDate(int _zi, int _luna, int _an) {
  31.     int nrZileLuna[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
  32.  
  33.     if (_an % 4 == 0) {
  34.         nrZileLuna[1] = 29;
  35.     }
  36.  
  37.     if (_luna > 12 || _zi > nrZileLuna[_luna - 1] || _luna < 1 || _zi < 1) {
  38.         return false;
  39.     }
  40.     else {
  41.         return true;
  42.     }
  43. }
  44.  
  45. void DataCalendaristica::readDate() {
  46.  
  47.     cout << "Zi : ";
  48.     cin >> zi;
  49.     cout << "Luna : ";
  50.     cin >> luna;
  51.     cout << "An : ";
  52.     cin >> an;
  53.  
  54. }
  55.  
  56. //afisarea unei date
  57. void DataCalendaristica::displayDate() {
  58.     int format;
  59.  
  60.     if (isA_ValidDate(zi, luna, an)) {
  61.         do {
  62.             cout << "Introduceti tipul formatului : \n";
  63.             cout << "1. zz/ll/aaaa \n";
  64.             cout << "2. ll/zz/aaaa \n";
  65.             cout << "3. aaaa/ll/zz \n";
  66.             cin >> format;
  67.  
  68.         } while (format < 1 || format > 3);
  69.  
  70.         switch (format) {
  71.         case 1:
  72.             cout << "\nData este : \n";
  73.             cout << "\n" << zi << "/" << luna << "/" << an << "\n";
  74.             break;
  75.         case 2:
  76.             cout << "\nData este : \n";
  77.             cout << "\n" << luna << "/" << zi << "/" << an << "\n";
  78.             break;
  79.         case 3:
  80.             cout << "\nData este : \n";
  81.             cout << "\n" << an << "/" << luna << "/" << zi << "\n";
  82.             break;
  83.         }
  84.     }
  85.     else {
  86.  
  87.         cout << "\nData introdusa nu este una valida!\n";
  88.     }
  89. }
  90.  
  91.  
  92. void main() {
  93.     DataCalendaristica data;
  94.  
  95.     data.displayDate();
  96.  
  97.     data.readDate();
  98.  
  99.     data.displayDate();
  100.  
  101.     _getch();
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement