Advertisement
frentzy

POO bilet nr 1 (partial nr1, nefacut de mine)

May 26th, 2018
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.97 KB | None | 0 0
  1. #include <iostream>                                                        //data calendaristica, bilet 1
  2. #include<conio.h>
  3. using namespace std;
  4.  
  5. class DataC
  6. {
  7. private:
  8.     int zi;
  9.     int luna;
  10.     int an;
  11.  
  12. public:
  13.     DataC();
  14.     DataC(int zi, int luna, int an);
  15.     DataC(const DataC &data);
  16.     ~DataC();
  17.     static bool validare(int zi, int luna, int an);
  18.     void citire();
  19.     void afisari();
  20.     void afisare1();
  21.     void afisare2();
  22.     void afisare3();
  23. };
  24.  
  25. DataC::DataC()
  26. {
  27.     zi = 1;
  28.     luna = 1;
  29.     an = 2000;
  30. }
  31.  
  32. DataC::DataC(int zi, int luna, int an)
  33. {
  34.     this->zi = zi;
  35.     this->luna = luna;
  36.     this->an = an;
  37. }
  38.  
  39. DataC::DataC(const DataC &data)
  40. {
  41.     zi = data.zi;
  42.     luna = data.luna;
  43.     an = data.an;
  44. }
  45.  
  46. DataC::~DataC()
  47. {
  48.  
  49. }
  50.  
  51. bool DataC::validare(int zi, int luna, int an)
  52. {
  53.     if ((luna == 2 && zi == 29 && an % 4 == 0)
  54.         || (luna == 2 && zi == 28 && an % 4 == 1)
  55.         || (luna % 2 == 0 && luna > 0 && luna <= 12 && luna != 2 && zi>0 && zi <= 30)
  56.         || (luna % 2 == 1 && luna > 0 && luna <= 12 && zi>0 && zi <= 31))
  57.  
  58.         return true;
  59.     else
  60.         return false;
  61. }
  62. void DataC::citire()
  63. {
  64.     sus:
  65.     cout << "Zi:"; cin >> zi;
  66.     cout << "Luna:"; cin >> luna;
  67.  
  68.     cout << "An:"; cin >> an;
  69.     if (!validare(zi, luna, an)) {
  70.         system("cls");
  71.         goto sus;
  72.     }
  73.    
  74. }
  75. void DataC::afisari()
  76. {
  77.     int format;
  78.     cout << "Alegeti formatul afisarii:" << endl;
  79.     cout << "1.zi/luna/an" << endl;
  80.     cout << "2.luna/zi/an" << endl;
  81.     cout << "3.an/luna/zi" << endl;
  82.     cin >> format;
  83.     if (format < 1 || format >3)
  84.         cout << "Introduceti o optiune valida";
  85.  
  86.     if (format == 1)
  87.         afisare1();
  88.     if (format == 2)
  89.         afisare2();
  90.     if (format == 3)
  91.         afisare3();
  92. }
  93.  
  94. void DataC::afisare1()
  95. {
  96.     cout << "Data este: " << zi << "/" << luna << "/" << an;
  97. }
  98.  
  99. void DataC::afisare2()
  100. {
  101.     cout << "Data este: " << luna << "/" << zi << "/" << an;
  102. }
  103.  
  104. void DataC::afisare3()
  105. {
  106.     cout << "Data este: " << an << "/" << luna << "/" << zi;
  107. }
  108.  
  109. int main()
  110. {
  111.     DataC data;
  112.     data.citire();
  113.     data.afisari();
  114.     _getch();
  115.     return 0;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement