diff options
sem 6
5 files changed, 133 insertions, 14 deletions
| -rw-r--r-- | Sem. 05/Interval/Source.cpp (renamed from Sem. 05/Source.cpp) | 28 | ||||
| -rw-r--r-- | Sem. 06/README.md | 0 | ||||
| -rw-r--r-- | Sem. 06/Time/Source.cpp | 14 | ||||
| -rw-r--r-- | Sem. 06/Time/Time.cpp | 78 | ||||
| -rw-r--r-- | Sem. 06/Time/Time.h | 27 |
diff --git a/Sem. 05/Source.cpp b/Sem. 05/Interval/Source.cpp index 679e729..7e6b3e1 100644 --- a/Sem. 05/Source.cpp +++ b/Sem. 05/Interval/Source.cpp @@ -1,15 +1,15 @@ -#include <iostream>
-#include "Interval.h"
-
-using namespace std;
-
-
-int main()
-{
- Interval i(1, 11);
-
- cout << i.calcDiffrentDigitNumbersInTheInverval() << endl;
-
- cout << i.getLength() << endl;
-
+#include <iostream> +#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 --- /dev/null +++ b/Sem. 06/README.md 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 <iostream> +#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 <iostream> + +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 |
