From b844597fd23bc57aa97e231fc90eecfd6322cecc Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 7 May 2022 08:28:27 +0300 Subject: Reorganized whole architecture --- src/Date/Date.cpp | 74 ------------------------------------------------------- 1 file changed, 74 deletions(-) delete mode 100644 src/Date/Date.cpp (limited to 'src/Date/Date.cpp') diff --git a/src/Date/Date.cpp b/src/Date/Date.cpp deleted file mode 100644 index 4732b0c..0000000 --- a/src/Date/Date.cpp +++ /dev/null @@ -1,74 +0,0 @@ -#include "Date.h" - -/* Private */ - -bool Date::isLeapYear() { - // Implements https://en.wikipedia.org/wiki/Leap_year#Gregorian_calendar - return year % 400 == 0 || year % 100 != 0 || year % 4 == 0; -} - -unsigned short Date::daysInMonth() { - if (month == 2) - return 28 + isLeapYear(); - if (month <= 7) - return 30 + month % 2; - return 31 - month % 2; -} - -/* Public */ - -Date::Date() : Date(01, 05, 2022) {} - -Date::Date(unsigned short day, unsigned short month, unsigned short year) { - this->day = day; - this->month = month; - this->year = year; -} - -int Date::compare(const Date& other) const { - if (year < other.year || month < other.month || day < other.day) - return -1; - return year > other.year || month > other.month || day > other.day; -} - -unsigned short Date::get_day() const { - return day; -} -bool Date::set_day(unsigned short newDay) { - if (newDay == 0 || newDay > daysInMonth()) - return false; - day = newDay; - return true; -} - -unsigned short Date::get_month() const { - return month; -} -bool Date::set_month(unsigned short newMonth) { - if (newMonth == 0 || newMonth > 12) - return false; - month = newMonth; - return true; -} - -unsigned short Date::get_year() const { - return year; -} -bool Date::set_year(unsigned short newYear) { - year = newYear; - return true; -} - -/* Outside of class */ - -std::istream& operator>>(std::istream& istr, Date& dt) { - unsigned short d, M, y; - istr >> d >> M >> y; - dt = Date(d, M, y); - return istr; -} - -std::ostream& operator<<(std::ostream& ostr, const Date& dt) { - ostr << dt.get_day() << "." << dt.get_month() << "." << dt.get_year(); - return ostr; -} -- cgit v1.3.1-23-gd82d