Advertisement
dllbridge

Months 1.01

Jun 26th, 2023
836
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.47 KB | None | 0 0
  1. //  The beginning of the file "main.cpp"
  2. //  - - - - - - - - - - - - - - - - - -
  3.  
  4. #include  <stdio.h>
  5. #include  "resource/Cdate.h"
  6.  
  7.  
  8.  
  9.  
  10. ////////////////////////////////////////////////////
  11. int main()                                        //
  12. {
  13.  
  14.     for(int i = 1; i <= 12; i++)
  15.     {
  16.        printf("%10s has %d days\n", Month[i].pszMon,
  17.                                     Month[i].nDays);
  18.     }
  19.  
  20. return 0;  
  21. }
  22.  
  23.  
  24.  
  25. //  The beginning of the file "Cdate.h"
  26. //  - - - - - - - - - - - - - - - - - -
  27.  
  28.  
  29. /////////////////////////////////////////////////
  30. class Cdate
  31. {
  32.    
  33.     static  int  nCounter;                     // Будет подсчитывать и хранить кол-во созданных объектов - месяцев
  34.    
  35.     public:
  36.     int          nDays;                        //                                        Кол-во дней в этом месяце
  37.    
  38.     const char *pszMon;                        //                                                  Название месяца
  39.    
  40.    
  41.     ////////методы///////
  42.     Cdate();                                   //      Инициализирует 12 объектов класса параметрами 12-ти месяцев.
  43.    ~Cdate();                                   //      Деструктор пригодится для паузы перед завершением программы.
  44.  
  45. };
  46.  
  47.  
  48.  
  49. extern Cdate   Month[14];                      //                           Массив месяцев (объектов класса Cdate)  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. //  The beginning of the file "Cdate.cpp"
  59. //  - - - - - - - - - - - - - - - - - -
  60.  
  61. #include  <stdlib.h>
  62. #include   <stdio.h>
  63. #include   "Cdate.h"
  64.  
  65. int _nDays[14] = {0, 31, 28, 31, 30, 31, 30,                           //   Кол-во дней в месяцах для невисокосного
  66.                      31, 31, 30, 31, 30, 31, 0};                       //                                      года.
  67.  
  68. const char *pszMonths[14] = {        "Zero",                           // The element with index 0 will not be used,
  69.                                   "January",
  70.                                  "February",
  71.                                     "March",
  72.                                     "April",
  73.                                       "May",
  74.                                      "June",
  75.                                      "July",
  76.                                    "August",
  77.                                 "September",
  78.                                   "October",
  79.                                  "November",
  80.                                  "December"
  81.                             };
  82.  
  83. int  Cdate::nCounter = -1;
  84.  
  85. Cdate    Month[14];                                                                                   //  12 месяцев
  86.  
  87.  
  88. //            Инициализирует 12 объектов класса параметрами 12-ти месяцев.
  89. /////////////////////////////////////////////////////////////////////////
  90. Cdate::Cdate()                                                         //
  91. {
  92.    
  93.        int i = ++ nCounter;
  94.              
  95.        if(i <= 12)
  96.        {
  97.          
  98.           Month[i].pszMon = pszMonths[i];
  99.           Month[i].nDays  =    _nDays[i];        
  100.        }
  101. }
  102.  
  103.  
  104.  
  105. //            Деструктор пригодится для паузы перед завершением программы.
  106. /////////////////////////////////////////////////////////////////////////
  107. Cdate::~Cdate()                                                        //
  108. {
  109.     if(nDays == 28)    
  110.     {
  111.        printf(" - - - - - - - - - - -\n"); 
  112.        printf("%s destructor works.  \n", pszMon); 
  113.        system("pause");
  114.     }
  115.    
  116. }
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement