Skip to content

Commit 70b2be9

Browse files
committed
Merge branch 'lab-12-var-11'
2 parents 04cac03 + 32ae4a3 commit 70b2be9

File tree

4 files changed

+100
-2
lines changed

4 files changed

+100
-2
lines changed

STATUS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ Variants now ready: `1 / 20`
105105

106106
| 01 | 02 | 03 | 04 | 05 | [](Semester_2/Lab_12) | 07 | 08 | 09 | 10 |
107107
|---|---|---|---|---|---|---|---|---|---|
108-
| 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
108+
| [](Variants/Lab_12/var_11) | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
109109

110110
## Lab 13
111111

Variants/Lab_12/var_11/main.cpp

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
11
// Создайте класс Time с конструкторами
22
// Time(), Time(int hour), Time(int hour, int min),
3-
// Time(int h, int m, int s) и Time(char *time)
3+
// Time(int h, int m, int s) и Time(char *time)
4+
5+
#include "time.h"
6+
7+
using namespace std;
8+
9+
int main() {
10+
Time test0(6, 18);
11+
test0.print();
12+
13+
Time test1("6:18:01");
14+
test1.print();
15+
16+
Time test2("16:18");
17+
test2.print();
18+
19+
test2 = test1;
20+
test2.print();
21+
22+
Time test3(test0);
23+
test3.print();
24+
}

Variants/Lab_12/var_11/time.cpp

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#include "time.h"
2+
3+
Time::Time(int hour, int minute, int second):
4+
_hour(hour), _minute(minute), _second(second) {
5+
}
6+
7+
Time::Time(const char *time):
8+
_hour(0), _minute(0), _second(0) {
9+
sscanf(time, "%d:%d:%d", &_hour, &_minute, &_second);
10+
_hour %= 24; _minute %= 60; _second %= 60;
11+
}
12+
13+
// сеттеры
14+
15+
void Time::set_hour(int h) {
16+
_hour = h % 24;
17+
}
18+
19+
void Time::set_minute(int m) {
20+
_minute = m % 60;
21+
}
22+
23+
void Time::set_second(int s) {
24+
_second = s % 60;
25+
}
26+
27+
// геттеры
28+
29+
int Time::get_hour() {
30+
return _hour;
31+
}
32+
33+
int Time::get_minute() {
34+
return _minute;
35+
}
36+
37+
int Time::get_second() {
38+
return _second;
39+
}
40+
41+
// вывод на экран
42+
43+
void Time::print() {
44+
printf("%02d:%02d:%02d\n", _hour, _minute, _second);
45+
}

Variants/Lab_12/var_11/time.h

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#pragma once
2+
3+
#include <stdio.h>
4+
5+
using namespace std;
6+
7+
class Time {
8+
private:
9+
int _hour, _minute, _second;
10+
11+
public:
12+
// конструкторы
13+
14+
Time(int hour = 0, int minute = 0, int second = 0);
15+
Time(const char *time);
16+
17+
// сеттеры
18+
19+
void set_hour(int h);
20+
void set_minute(int m);
21+
void set_second(int s);
22+
23+
// геттеры
24+
25+
int get_hour();
26+
int get_minute();
27+
int get_second();
28+
29+
// вывод на экран
30+
31+
void print();
32+
};

0 commit comments

Comments
 (0)