Advertisement
SeriousVenom

Programming, structures, 17-09-2019

Sep 17th, 2019
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.57 KB | None | 0 0
  1. // date.cpp: определяет точку входа для консольного приложения.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6.  
  7. using namespace std;
  8.  
  9. struct data1
  10. {
  11.     int day, month, year;
  12.     bool setdate(int d, int m, int y);
  13.     void show();
  14.     void addday(int a);
  15.     void addmonth(int b);
  16.     void addyear(int c);
  17. };
  18. int main()
  19. {
  20.     data1 d;
  21.     if (d.setdate(29, 2, 2012)) d.show();
  22.     int dd, mm, yy;
  23.     cout << "Day="; cin >> dd;
  24.     cout << "Month="; cin >> mm;
  25.     cout << "Year="; cin >> yy;
  26.     if (d.setdate(dd, mm, yy)) d.show();
  27.     d.addday(10); d.show();
  28.     d.addday(100); d.show();
  29.     return 0;
  30. }//end main
  31.  
  32. void data1::show()
  33. {
  34.     cout << day << "." << month << "." << year << endl;
  35. }
  36. bool vis(int y)
  37. {
  38.     if (y % 4 == 0) return 1;
  39.     else return 0;
  40. }
  41. bool data1::setdate(int d, int m, int y)
  42. {
  43.     int mon[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
  44.     if (y<0) { cout << "ERROR! Year!" << endl; return 0; }
  45.     if (vis(y)) { mon[1] = 29; }
  46.     if (m<0 || m>12) { cout << "ERROR! Month!" << endl; return 0; }
  47.     if (d<0 || d>mon[m - 1]) { cout << "ERROR! Day!" << endl; return 0; }
  48.     day = d; month = m; year = y;
  49.     return 1;
  50. }
  51.  
  52. void data1::addmonth(int b)
  53. {
  54.     int mon[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
  55.    
  56. }
  57.  
  58. void data1::addyear(int c)
  59. {
  60.  
  61. }
  62.  
  63. void data1::addday(int a)
  64. {
  65.     int mon[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
  66.     if (vis(year)) { mon[1] = 29; }
  67.     day += a;
  68.     while (day>mon[month - 1]) {
  69.         day -= mon[month - 1];
  70.         month++;
  71.         if (month>12) {
  72.             month = 1; year++;
  73.             if (vis(year))mon[1] = 29;
  74.             else mon[1] = 28;
  75.         }
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement