Advertisement
Guest User

Untitled

a guest
Sep 18th, 2021
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. #include <windows.h>
  2. #include <iostream>
  3. #include <iomanip>
  4. #include <string>
  5. #include <vector>
  6. #include <algorithm>
  7.  
  8. using namespace std;
  9.  
  10. class DATAuser
  11. {
  12. public:
  13. int Year;
  14. int MonthUser;
  15.  
  16. string m[12]=
  17. {"Январь","Февраль","Март","Апрель","Май",
  18. "Июнь","Июль","Август","Сентябрь",
  19. "Октябрь","Ноябрь","Декабрь"};
  20.  
  21. string MSG[3]=
  22. {
  23. "Год вне диапазона вычислений", "Год високосный", "Год НЕ является високосным"
  24. };
  25.  
  26. DATAuser(string yyyymm)
  27. {
  28. if (yyyymm[4]!='.')
  29. {
  30. cout << "Формат данных не соответствует ГГГГ.ММ" << endl;
  31. yyyymm= "2000.01";
  32. cout << "По умолчанию " << yyyymm;
  33. }
  34.  
  35. char buf[5];
  36. yyyymm.copy(buf,4,0);
  37. Year= atoi(buf);
  38.  
  39. strcpy(buf," ");
  40. yyyymm.copy(buf,2,5);
  41. MonthUser= atoi(buf);
  42.  
  43. cout << "Данные для анализа " << endl;
  44. cout << "Год "<< Year << "\tМесяц "<< MonthUser << endl;
  45.  
  46. if (MonthUser<1 || MonthUser>12)
  47. {
  48. cout << "У нас 12 месяцев...В году" << endl;
  49. MonthUser= 1;
  50. }
  51. }
  52. DATAuser()
  53. {
  54. cout << "Введите год\t"; cin >> Year;
  55. cout << "Номер месяца\t"; cin >> MonthUser;
  56. }
  57. void CalculatUser()
  58. {
  59. int Des, Sot, DayUser;
  60.  
  61. Des= Year % 100; Sot= Year / 100;
  62. if ( (Des==0 && !(Sot%4) ) || (!(Des%4) && Des!=0) ) DayUser= 1;
  63. else DayUser= 2;
  64.  
  65. cout << Year << '\t' << MSG[DayUser] << endl;
  66.  
  67. int dm;
  68. if(MonthUser>7) dm= 31 - MonthUser%2;
  69. else
  70. {
  71. dm= 30 + MonthUser%2;
  72. if (MonthUser==2) dm-=DayUser;
  73. }
  74. cout << m[MonthUser-1] << "\t\t" << dm << endl;
  75. }
  76. };
  77. int main(int argc, char **argv)
  78. {
  79. system("chcp 1251 > nul"); // Руссификация сообщений
  80. setlocale(LC_ALL, "Russian");
  81.  
  82. DATAuser du("1711.09"); du.CalculatUser();
  83. DATAuser di; di.CalculatUser();
  84.  
  85. /* // Процедура вывода дней месяца БЕЗ высокосного дня
  86. int dm;
  87. string m[12]=
  88. {"Январь","Февраль","Март","Апрель","Май",
  89. "Июнь","Июль","Август","Сентябрь",
  90. "Октябрь","Ноябрь","Декабрь"};
  91.  
  92. for (int a=0; a<12; a++)
  93. {
  94. if (a>6) dm= 30 + a%2;
  95. else
  96. {
  97. dm= 31 - a%2;
  98. if (a==1) dm-=2;
  99. }
  100. cout << m[a] << "\t" << dm << endl;
  101. }*/
  102.  
  103. system("pause"); // system("pause > nul");
  104. return 0;
  105. }
  106.  
  107.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement