Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Date
diff options
context:
space:
mode:
Commitb844597fd23bc57aa97e231fc90eecfd6322cecc (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 08:28:27 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 08:28:27 +0300
Files86a4112ecfa1e3a54dbcf44a7ddf37575ba4aa39 /src/Date
FMI-OOP-P1_TicketSystem-b844597fd23bc57aa97e231fc90eecfd6322cecc.tar
FMI-OOP-P1_TicketSystem-b844597fd23bc57aa97e231fc90eecfd6322cecc.tar.gz
FMI-OOP-P1_TicketSystem-b844597fd23bc57aa97e231fc90eecfd6322cecc.zip
Parent0910afb91c8f9672be1d6184f47fb75947ea14f1 (diff)
Reorganized whole architecture
2 files changed, 0 insertions, 107 deletions
-rw-r--r--src/Date/Date.cpp74
-rw-r--r--src/Date/Date.h33
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;
-}
diff --git a/src/Date/Date.h b/src/Date/Date.h
deleted file mode 100644
index 5d1ff62..0000000
--- a/src/Date/Date.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef HEADER_DATETIME
-#define HEADER_DATETIME
-
-#include <istream>
-#include <ostream>
-
-class Date {
- unsigned short day;
- unsigned short month;
- unsigned short year;
-
- bool isLeapYear();
- unsigned short daysInMonth();
-
-public:
- Date();
- Date(unsigned short day, unsigned short month, unsigned short year);
- int compare(const Date& other) const;
-
- unsigned short get_day() const;
- bool set_day(unsigned short newDay);
-
- unsigned short get_month() const;
- bool set_month(unsigned short newMonth);
-
- unsigned short get_year() const;
- bool set_year(unsigned short newYear);
-};
-
-std::istream& operator>>(std::istream& istr, Date& dt);
-std::ostream& operator<<(std::ostream& ostr, const Date& dt);
-
-#endif