From 1ab579546728b812c24452bcc891d92dcf332017 Mon Sep 17 00:00:00 2001 From: angeld55 Date: Fri, 2 Apr 2021 14:25:28 +0300 Subject: sem 6 --- Sem. 05/Interval/Source.cpp | 15 +++++++++ Sem. 05/Source.cpp | 15 --------- Sem. 06/README.md | 0 Sem. 06/Time/Source.cpp | 14 ++++++++ Sem. 06/Time/Time.cpp | 78 +++++++++++++++++++++++++++++++++++++++++++++ Sem. 06/Time/Time.h | 27 ++++++++++++++++ 6 files changed, 134 insertions(+), 15 deletions(-) create mode 100644 Sem. 05/Interval/Source.cpp delete mode 100644 Sem. 05/Source.cpp create mode 100644 Sem. 06/README.md create mode 100644 Sem. 06/Time/Source.cpp create mode 100644 Sem. 06/Time/Time.cpp create mode 100644 Sem. 06/Time/Time.h diff --git a/Sem. 05/Interval/Source.cpp b/Sem. 05/Interval/Source.cpp new file mode 100644 index 0000000..7e6b3e1 --- /dev/null +++ b/Sem. 05/Interval/Source.cpp @@ -0,0 +1,15 @@ +#include +#include "Interval.h" + +using namespace std; + + +int main() +{ + Interval i(1, 11); + + cout << i.calcDiffrentDigitNumbersInTheInverval() << endl; + + cout << i.getLength() << endl; + +} \ No newline at end of file diff --git a/Sem. 05/Source.cpp b/Sem. 05/Source.cpp deleted file mode 100644 index 679e729..0000000 --- a/Sem. 05/Source.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include "Interval.h" - -using namespace std; - - -int main() -{ - Interval i(1, 11); - - cout << i.calcDiffrentDigitNumbersInTheInverval() << endl; - - cout << i.getLength() << endl; - -} \ No newline at end of file diff --git a/Sem. 06/README.md b/Sem. 06/README.md new file mode 100644 index 0000000..e69de29 diff --git a/Sem. 06/Time/Source.cpp b/Sem. 06/Time/Source.cpp new file mode 100644 index 0000000..e4dd497 --- /dev/null +++ b/Sem. 06/Time/Source.cpp @@ -0,0 +1,14 @@ +#include +#include "Time.h" + +using namespace std; + + +int main() +{ + Time t(12, 30, 30); + + t.print(); + t.addMinutes(45); + t.print(); +} \ No newline at end of file diff --git a/Sem. 06/Time/Time.cpp b/Sem. 06/Time/Time.cpp new file mode 100644 index 0000000..65549f7 --- /dev/null +++ b/Sem. 06/Time/Time.cpp @@ -0,0 +1,78 @@ +#include "Time.h" +#include + +Time::Time() : Time(0, 0, 0){} + +Time::Time(size_t hours, size_t mins, size_t seconds) +{ + setHours(hours); + setMins(mins); + setSeconds(seconds); +} + +size_t Time::getHours() +{ + return hours; +} +size_t Time::getMins() +{ + return mins; +} +size_t Time::getSeconds() +{ + return seconds; +} +void Time::setHours(size_t hours) +{ + if (hours >= 24) + hours = 0; + this->hours = hours; +} +void Time::setMins(size_t mins) +{ + if (mins > 59) + mins = 0; + this->mins = mins; +} +void Time::setSeconds(size_t seconds) +{ + if (seconds > 59) + seconds = 0; + this->seconds = seconds; +} +void Time::print() +{ + std::cout << hours << ":" << mins << ":" << seconds << std::endl; +} + +void Time::addSeconds(size_t seconds) +{ + size_t currentTimeSeconds = convertTimeToSeconds(); + + currentTimeSeconds += seconds; + + setTimeBySeconds(currentTimeSeconds); + +} +void Time::addMinutes(size_t minutes) +{ + addSeconds(60 * minutes); +} +void Time::addHours(size_t hours) +{ + addMinutes(60 * hours); +} +size_t Time::convertTimeToSeconds() +{ + return hours * 3600 + mins * 60 + seconds; +} +void Time::setTimeBySeconds(size_t seconds) //12000 +{ + hours = seconds / 3600; + seconds %= 3600; + + mins = seconds / 60; + seconds %= 60; + + this->seconds = seconds; +} \ No newline at end of file diff --git a/Sem. 06/Time/Time.h b/Sem. 06/Time/Time.h new file mode 100644 index 0000000..a253c64 --- /dev/null +++ b/Sem. 06/Time/Time.h @@ -0,0 +1,27 @@ +class Time +{ + size_t hours; + size_t mins; + size_t seconds; + + size_t convertTimeToSeconds(); + void setTimeBySeconds(size_t); + +public: + Time(); + Time(size_t hours, size_t mins, size_t seconds); + + + size_t getHours(); + size_t getMins(); + size_t getSeconds(); + void setHours(size_t hours); + void setMins(size_t mins); + void setSeconds(size_t seconds); + + void addSeconds(size_t seconds); + void addMinutes(size_t seconds); + void addHours(size_t seconds); + + void print(); +}; \ No newline at end of file -- cgit v1.3.1-23-gd82d