Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <iostream>
  4. #include "Data.h"
  5.  
  6. using namespace std;
  7.  
  8. Data::Data()
  9. : m_nDzien(1)
  10. , m_nMiesiac(1)
  11. , m_nRok(2000)
  12. {
  13. };
  14.  
  15.  
  16. Data::~Data()
  17. {
  18. }
  19.  
  20. void Data::Ustaw(int d, int m, int r)
  21. {
  22. m_nDzien = d;
  23. m_nMiesiac = m;
  24. m_nRok = r;
  25. }
  26.  
  27. int Data::Dzien() const
  28. {
  29. return m_nDzien;
  30. }
  31.  
  32. int Data::Miesiac() const
  33. {
  34. return m_nMiesiac;
  35. }
  36.  
  37. int Data::Rok() const
  38. {
  39. return m_nRok;
  40. }
  41.  
  42. void Data::Wypisz() const
  43. {
  44. cout << m_nDzien << "-" << m_nMiesiac << "-" << m_nRok << endl;
  45. }
  46.  
  47. void Data::Wpisz()
  48. {
  49. cin >> m_nDzien >> m_nMiesiac >> m_nRok;
  50. Koryguj();
  51. }
  52.  
  53. void Data::Koryguj()
  54. {
  55. bool przestepny = 0;
  56. if (m_nMiesiac > 12) m_nMiesiac = 12;
  57. if (m_nMiesiac < 1) m_nMiesiac = 1;
  58. if ((m_nRok % 4 == 0 && m_nRok % 100 != 0) || m_nRok % 400 == 0) przestepny = 1;
  59. if (m_nMiesiac == 4 || m_nMiesiac == 6 || m_nMiesiac == 9 || m_nMiesiac == 11) {
  60. if (m_nDzien > 31) m_nDzien = 30;
  61. if (m_nDzien < 1)m_nDzien = 1;
  62. }
  63. else if (m_nMiesiac == 2) {
  64. if (m_nDzien < 1) m_nDzien = 1;
  65. if (m_nDzien > 28 && przestepny == 1) m_nDzien = 29;
  66. else if (m_nDzien > 28 && przestepny == 0) m_nDzien = 28;
  67. }
  68. else {
  69. if (m_nDzien > 31) m_nDzien = 31;
  70. if (m_nDzien < 1)m_nDzien = 1;
  71. }
  72. }
  73.  
  74. int Data::Porownaj(const Data & wzor) const
  75. {
  76. if (Dzien() == wzor.Dzien() || Miesiac() == wzor.Miesiac() || Rok() == wzor.Rok()) return 0;
  77. else if (Rok() < wzor.Rok()) return 1;
  78. else if (Miesiac() < wzor.Miesiac() && Rok() < wzor.Rok()) return 1;
  79. else if (Dzien() < wzor.Dzien() && Miesiac() < wzor.Miesiac() && Rok() == wzor.Rok()) return 1;
  80. else return -1;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement