ООП. Для решения поставленной задачи используются. Для решения поставленной задачи используются
Скачать 19.12 Kb.
|
Для решения поставленной задачи используются: Объекты стандартных потоков ввода и вывода cin и cout соответственно .Используются для вывода на экран и ввода с клавиатуры. Объекты класса Triagle(кол-во объектов задается пользователем) Функции – операторы(+,-).Используются для создания объектов класса Triagle. Операторы цикла while и for Класс Triagle Поля: Поля, хранящие значения длин сторон треугольника: Наименование – a,b,c; Тип – целочисленное > 0; Модификатор доступа – private; Методы: Triagle Функционал – параметризированный конструктор Side1 Функционал – константный метод возвращающий значения длин первой стороны треугольника. Side2 Функционал – константный метод возвращающий значения длин второй стороны треугольника. Side2 Функционал – константный метод возвращающий значения длин третьей стороны треугольника. Алгоритм: Функция main: 1 – Объявление целочисленной переменной ; 2 – Считывание с клавиатуры переменной n; 3 - Создание объекта vec класса вектор для хранения объектов класса Triagle; 4 – Объявление целочисленной переменной i = 0; 5 – Если i < n объявление переменных a,b,c > 0; - предикат 6 – Считывание переменных a,b,c с клавиатуры 7 – Создание объекта класса Triagle путем вызова параметризированного конструктора с аргументами a,b,c 8 – Вызов метода push_back объекта vec с параметром side 9 – i++ 10 – Объявление целочисленных переменных tr1 tr2 и смвольной переменной oper 11 – tr1 tr2 oper считаны с клавиатуры(предикат) Считывание tr1 tr2 oper с клавиатуры 12 – oper == “+” (предикат) Сложение сторон первого и второго треугольника и запись результата на место первого треугольника 12 – иначе oper = “-“ Вычитание сторон первого и второго треугольника и запись результата на место первого треугольника 13 – Вывод на экран a = значению поля a треугольника tr1; 14 - Вывод на экран b = значению поля a треугольника tr1; 15 - Вывод на экран a = значению поля a треугольника tr1; Метод Get_side1 Функционал – вернуть сторону a; Метод Get_side2 Функционал – вернуть сторону b; Метод Get_side3 Функционал – вернуть сторону c; Функция Operation+ Параметры – объекты one и two класса Triagle Возаращ. Значение – объект класса Triagle Функционал – сложение сторон треугольников Алгоритм Инициализация целочисленных переменных side1 side2 side3 Значениями сумм соответствующих сторон треугольников one и two 2 – Треугольник с side1 side2 side3 существует(предикат) – Создание объекта three класса Triagle с аргументами side1 side2 side3 и его возврат Иначе – возврат объекта one Исходный код – В класс Triagle.h добавить – getSide1() const; getSide2() const; getSide3() const; Triagle Operation+{const Triagle &one, const Triagle two) Triagle Operation-{const Triagle &one, const Triagle two} Triagle.cpp int Triagle :: getSide1() const { return a; } int Triagle :: getSide2() const { return b; } int Triagle :: getSide3() const { return c; } Triagle Operation+{const Triagle &one, const Triagle two} { int side1 = one.getSide1() + two.getSide1(); int side2 = one.getSide2() + two.getSide2(); int side3 = one.getSide1() + two.getSide3(); if(side1 + side2 > side3 && side1+side…. Return (Triengl(side1,side2,side3 …… } Main int n; cin >> n; vector vec.reserve(n); for(int i = 0;i { int a,b,c; cin >> a >> b >>c; vec.push_back(Triangle(side)???); } int tr1,tr2; cher oper; while(cin >> tr1 >> oper >> tr2) { If(oper = “+”) { vec[tr1 – 1] = vec[tr1 – 1] } |