Skip to content

Commit 8f25a79

Browse files
committed
code formatted
1 parent 83573d0 commit 8f25a79

File tree

3 files changed

+410
-346
lines changed

3 files changed

+410
-346
lines changed

Variants/Lab_13/var_6/main.cpp

Lines changed: 166 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -1,159 +1,178 @@
1-
// Ñîçäàéòå êëàññ Rational (ðàöèîíàëüíàÿ äðîáü)
1+
// Создайте класс Rational (рациональная дробь)
22

3-
// ËÀÁÀ 14 ÂÀÐÈÀÍÒ 4
3+
// ЛАБА 14 ВАРИАНТ 4
44

55
// TODO:
6-
// ïðèâàòíûå ïîëÿ äëÿ äàííûõ
7-
// êîíñòðóêòîð, ñîäåðæàùèé çíà÷åíèÿ ïî óìîë÷àíèþ
8-
// ôóíêöèè-ýëåìåíòû óñòàíîâêè è èçâëå÷åíèÿ çíà÷åíèé
9-
// ïåðåãðóæåííûå îïåðàòîðû ââîäà è âûâîäà
10-
// êîíñòðóêòîð êîïèé
11-
// îïåðàòîð ïðèñâàèâàíèÿ
12-
13-
// óêàçàííûå â çàäàíèè ïåðåãðóæåííûå îïåðàöèè
6+
// приватные поля для данных
7+
// конструктор, содержащий значения по умолчанию
8+
// функции-элементы установки и извлечения значений
9+
// перегруженные операторы ввода и вывода
10+
// конструктор копий
11+
// оператор присваивания
12+
13+
// указанные в задании перегруженные операции
1414
// ++ -- -n == != = + += - -= * *= / /= > < >= <=
1515

16-
1716
/*
18-
ÍÅ ÄÎÏ:
19-
ïîïðàâèòü âûâîä
20-
!!!ó÷åñòü îòðèöàòåëüíûå ÷èñëà
21-
ÄÎÏ:
22-
äîáàâèòü öåëóþ ÷àñòü (â ñàì êëàññ)
23-
îïåðàöèè, ñîîòâ., ñ ó÷åòîì öåëîé ÷àñòè äðîáåé
24-
ñîðòèðîâêà Øåëëà ìàññèâà äðîáåé
17+
НЕ ДОП:
18+
поправить вывод
19+
!!!учесть отрицательные числа
20+
ДОП:
21+
добавить целую часть (в сам класс)
22+
операции, соотв., с учетом целой части дробей
23+
сортировка Шелла массива дробей
2524
*/
2625
#include "rational.h"
2726
using namespace std;
2827

29-
// òåñòèðîâàíèå ôóíêöèé êëàññà
30-
int main() {
31-
int test_n = 0;
32-
cout << "Run test #";
33-
cin >> test_n;
34-
35-
switch (test_n) {
36-
case 1: {
37-
// òóò òåñòèðóþòñÿ:
38-
// êîíñòðóêòîðû, ãåòòåðû, ñåòòåðû,
39-
// âûâîä, êîíñòðóêòîð êîïèé, ïðèñâàèâàíèÿ
40-
41-
Rational lol(1, 2), kek = { 2, 3 };
42-
cout << "Rational 1 / 2: " << lol << endl;
43-
cout << "Rational 2 / 3: " << kek << endl;
44-
45-
Rational temp(618);
46-
cout << "Int 618 to Rational: " << temp << endl;
47-
48-
Rational test(42, 618);
49-
cout << "42 / 618 = " << test << " -> ";
50-
51-
test.set(618, 42);
52-
cout << test << " -> ";
53-
cout << test.numerator() << " / "
54-
<< test.denominator() << " -> ";
55-
56-
test.numerator() = 6;
57-
test.denominator() = 18;
58-
cout << test << endl;
59-
60-
Rational test_copy(test);
61-
cout << test << " = " << test.simplify()
62-
<< " => copy: " << test_copy << endl;
63-
64-
lol = kek = temp = test;
65-
cout << lol << ", "
66-
<< kek << ", "
67-
<< temp << endl;
68-
break;
69-
}
70-
71-
case 2: {
72-
// òóò òåñòèðóþòñÿ:
73-
// ++ -- -n + += - -= * *= / /=
74-
75-
Rational lol(42, 618);
76-
Rational kek(69, 420);
77-
long long abc = 777;
78-
79-
cout << "(" << lol << ")++ = (" << ++lol << ")\n";
80-
cout << "(" << lol << ")-- = (" << --lol << ")\n";
81-
cout << "-(" << lol << ") = (" << -lol << ")\n";
82-
83-
cout << "(" << lol << ") + (" << kek << ") = " << lol + kek << endl;
84-
cout << "(" << lol << ") + (" << abc << ") = " << lol + abc << endl;
85-
cout << "(" << abc << ") + (" << lol << ") = " << abc + lol << endl;
86-
87-
cout << "(" << lol << ") - (" << kek << ") = " << lol - kek << endl;
88-
cout << "(" << lol << ") - (" << abc << ") = " << lol - abc << endl;
89-
cout << "(" << abc << ") - (" << lol << ") = " << abc - lol << endl;
90-
91-
cout << "(" << lol << ") * (" << kek << ") = " << lol * kek << endl;
92-
cout << "(" << lol << ") * (" << abc << ") = " << lol * abc << endl;
93-
cout << "(" << abc << ") * (" << lol << ") = " << abc * lol << endl;
94-
95-
cout << "(" << lol << ") / (" << kek << ") = " << lol / kek << endl;
96-
cout << "(" << lol << ") / (" << abc << ") = " << lol / abc << endl;
97-
cout << "(" << abc << ") / (" << lol << ") = " << abc / lol << endl;
98-
99-
lol = { 42, 618 }; kek = { 69, 420 }; abc = 777;
100-
cout << "(" << lol << ") += (" << kek << ") -> " << (lol += kek) << endl;
101-
cout << "(" << lol << ") += (" << abc << ") -> " << (lol += abc) << endl;
102-
103-
lol = { 42, 618 }; kek = { 69, 420 }; abc = 777;
104-
cout << "(" << lol << ") -= (" << kek << ") -> " << (lol -= kek) << endl;
105-
cout << "(" << lol << ") -= (" << abc << ") -> " << (lol -= abc) << endl;
106-
107-
lol = { 42, 618 }; kek = { 69, 420 }; abc = 777;
108-
cout << "(" << lol << ") *= (" << kek << ") -> " << (lol *= kek) << endl;
109-
cout << "(" << lol << ") *= (" << abc << ") -> " << (lol *= abc) << endl;
110-
111-
lol = { 42, 618 }; kek = { 69, 420 }; abc = 777;
112-
cout << "(" << lol << ") /= (" << kek << ") -> " << (lol /= kek) << endl;
113-
cout << "(" << lol << ") /= (" << abc << ") -> " << (lol /= abc) << endl;
114-
115-
break;
116-
}
117-
118-
case 3: {
119-
// òóò òåñòèðóþòñÿ:
120-
// == != > >= < <=
121-
122-
Rational testA(1, 2);
123-
Rational testB(1, 2);
124-
125-
if (testA == testB) cout << "testA == testB" << endl;
126-
if (testA == testA) cout << "testA == testA" << endl;
127-
128-
Rational testNew(testA);
129-
if (testA == testNew) cout << "testA == testNew" << endl;
130-
131-
cout << ++testNew << ", " << testNew << endl;
132-
if (testA == testNew) cout << "testA == testNew" << endl;
133-
134-
cout << testA++ << ", " << testA << endl;
135-
if (testA == testNew) cout << "testA == testNew" << endl;
136-
137-
Rational temp(10, -20);
138-
cout << temp << ", " << temp.simplify() << ", " << temp << endl;
139-
140-
Rational lol = { 42, 618 }, kek = { 69, 420 };
141-
cout << lol << " > " << kek << (lol > kek ? " = True" : " = False") << endl;
142-
cout << lol << " >= " << kek << (lol >= kek ? " = True" : " = False") << endl;
143-
cout << lol << " < " << kek << (lol < kek ? " = True" : " = False") << endl;
144-
cout << lol << " <= " << kek << (lol <= kek ? " = True" : " = False") << endl;
145-
break;
146-
}
147-
148-
case 4: {
149-
cout << "\n//-- Summ Test --//\n\n";
150-
Rational rr;
151-
for (int i = 1; i < 30; i++) {
152-
Rational temp(1, i);
153-
rr = rr + temp;
154-
cout << rr << " = " << rr.get_value() << endl;
155-
}
156-
break;
157-
}
28+
// тестирование функций класса
29+
int main()
30+
{
31+
int test_n = 0;
32+
cout << "Run test #";
33+
cin >> test_n;
34+
35+
switch (test_n)
36+
{
37+
case 1:
38+
{
39+
// тут тестируются:
40+
// конструкторы, геттеры, сеттеры,
41+
// вывод, конструктор копий, присваивания
42+
43+
Rational lol(1, 2), kek = {2, 3};
44+
cout << "Rational 1 / 2: " << lol << endl;
45+
cout << "Rational 2 / 3: " << kek << endl;
46+
47+
Rational temp(618);
48+
cout << "Int 618 to Rational: " << temp << endl;
49+
50+
Rational test(42, 618);
51+
cout << "42 / 618 = " << test << " -> ";
52+
53+
test.set(618, 42);
54+
cout << test << " -> ";
55+
cout << test.numerator() << " / "
56+
<< test.denominator() << " -> ";
57+
58+
test.numerator() = 6;
59+
test.denominator() = 18;
60+
cout << test << endl;
61+
62+
Rational test_copy(test);
63+
cout << test << " = " << test.simplify()
64+
<< " => copy: " << test_copy << endl;
65+
66+
lol = kek = temp = test;
67+
cout << lol << ", "
68+
<< kek << ", "
69+
<< temp << endl;
70+
break;
71+
}
72+
73+
case 2:
74+
{
75+
// тут тестируются:
76+
// ++ -- -n + += - -= * *= / /=
77+
78+
Rational lol(42, 618);
79+
Rational kek(69, 420);
80+
long long abc = 777;
81+
82+
cout << "(" << lol << ")++ = (" << ++lol << ")\n";
83+
cout << "(" << lol << ")-- = (" << --lol << ")\n";
84+
cout << "-(" << lol << ") = (" << -lol << ")\n";
85+
86+
cout << "(" << lol << ") + (" << kek << ") = " << lol + kek << endl;
87+
cout << "(" << lol << ") + (" << abc << ") = " << lol + abc << endl;
88+
cout << "(" << abc << ") + (" << lol << ") = " << abc + lol << endl;
89+
90+
cout << "(" << lol << ") - (" << kek << ") = " << lol - kek << endl;
91+
cout << "(" << lol << ") - (" << abc << ") = " << lol - abc << endl;
92+
cout << "(" << abc << ") - (" << lol << ") = " << abc - lol << endl;
93+
94+
cout << "(" << lol << ") * (" << kek << ") = " << lol * kek << endl;
95+
cout << "(" << lol << ") * (" << abc << ") = " << lol * abc << endl;
96+
cout << "(" << abc << ") * (" << lol << ") = " << abc * lol << endl;
97+
98+
cout << "(" << lol << ") / (" << kek << ") = " << lol / kek << endl;
99+
cout << "(" << lol << ") / (" << abc << ") = " << lol / abc << endl;
100+
cout << "(" << abc << ") / (" << lol << ") = " << abc / lol << endl;
101+
102+
lol = {42, 618};
103+
kek = {69, 420};
104+
abc = 777;
105+
cout << "(" << lol << ") += (" << kek << ") -> " << (lol += kek) << endl;
106+
cout << "(" << lol << ") += (" << abc << ") -> " << (lol += abc) << endl;
107+
108+
lol = {42, 618};
109+
kek = {69, 420};
110+
abc = 777;
111+
cout << "(" << lol << ") -= (" << kek << ") -> " << (lol -= kek) << endl;
112+
cout << "(" << lol << ") -= (" << abc << ") -> " << (lol -= abc) << endl;
113+
114+
lol = {42, 618};
115+
kek = {69, 420};
116+
abc = 777;
117+
cout << "(" << lol << ") *= (" << kek << ") -> " << (lol *= kek) << endl;
118+
cout << "(" << lol << ") *= (" << abc << ") -> " << (lol *= abc) << endl;
119+
120+
lol = {42, 618};
121+
kek = {69, 420};
122+
abc = 777;
123+
cout << "(" << lol << ") /= (" << kek << ") -> " << (lol /= kek) << endl;
124+
cout << "(" << lol << ") /= (" << abc << ") -> " << (lol /= abc) << endl;
125+
126+
break;
127+
}
128+
129+
case 3:
130+
{
131+
// тут тестируются:
132+
// == != > >= < <=
133+
134+
Rational testA(1, 2);
135+
Rational testB(1, 2);
136+
137+
if (testA == testB)
138+
cout << "testA == testB" << endl;
139+
if (testA == testA)
140+
cout << "testA == testA" << endl;
141+
142+
Rational testNew(testA);
143+
if (testA == testNew)
144+
cout << "testA == testNew" << endl;
145+
146+
cout << ++testNew << ", " << testNew << endl;
147+
if (testA == testNew)
148+
cout << "testA == testNew" << endl;
149+
150+
cout << testA++ << ", " << testA << endl;
151+
if (testA == testNew)
152+
cout << "testA == testNew" << endl;
153+
154+
Rational temp(10, -20);
155+
cout << temp << ", " << temp.simplify() << ", " << temp << endl;
156+
157+
Rational lol = {42, 618}, kek = {69, 420};
158+
cout << lol << " > " << kek << (lol > kek ? " = True" : " = False") << endl;
159+
cout << lol << " >= " << kek << (lol >= kek ? " = True" : " = False") << endl;
160+
cout << lol << " < " << kek << (lol < kek ? " = True" : " = False") << endl;
161+
cout << lol << " <= " << kek << (lol <= kek ? " = True" : " = False") << endl;
162+
break;
163+
}
164+
165+
case 4:
166+
{
167+
cout << "\n//-- Summ Test --//\n\n";
168+
Rational rr;
169+
for (int i = 1; i < 30; i++)
170+
{
171+
Rational temp(1, i);
172+
rr = rr + temp;
173+
cout << rr << " = " << rr.get_value() << endl;
158174
}
175+
break;
176+
}
177+
}
159178
}

0 commit comments

Comments
 (0)