DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи №5 з курсу “Об’єктно-орієнтоване програмування”

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2008
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Об’єктно-орієнтоване програмування
Група:
ПІ-11
Коротко про документ

Про що ця робота

У документі наведено звіт з лабораторної роботи №5 з дисципліни об'єктно-орієнтоване програмування. Розглянуто реалізацію класу трикутника на C++ з перевантаженням операцій та використанням дружніх функцій.

У роботі розглядаються

  • Об’єктно-орієнтоване програмування
  • Перевантаження операцій
  • Дружні функції
  • Мова програмування C++
  • Класи та об'єкти
  • Геометричні об'єкти

Зміст і розділи

  1. Постановка задачі
  2. Текст програми
  3. Протокол роботи програми
  4. Висновок
Для кого:Студенти технічних спеціальностей, викладачі програмування
Викладачі:Не вказано

Ключові поняття

кластрикутникперевантаження операційдружня функціяC++методоб'єктввід-вивід

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій Кафедра ПЗ Звіт з лабораторної роботи №5 за курсом “Об’єктно-орієнтоване програмування” Львів 2008 Лабораторна робота №5 Тема: Перевантаження функцій і операцій. Дружні функції Мета: навчитися перевантажувати функції та операції, а також працювати з дружніми функціями; зрозуміти основні властивості та правила роботи з ними. Варіант №10 Виконання роботи 1.Постановка задачі. Написати програму алгоритмічною мовою С++ згідно із завданням, отриманим від викладача відповідно до варіанту. Реалізувати заданий класовий тип із заданими методами, використовуючи механізм перевантаження функцій та операцій, а також значення параметрів за замовчуванням. Написати фрагмент програми з використанням класового типу та заданих методів. Завдання: Трикутник на координатній площині [p1;p2;p3] Конструктор повинен визначати довільний або рівносторонній трикутник в центрі координат. Визначення периметра. Перевантажити операції ==, виводу <<, вводу >>, а також дружню операцію += для переміщення трикутника на [dx; dy].   2.Текст програми. Файл: Main.cpp #include <vcl.h> #include <iostream.h> #include <conio.h> #include "Triangle.h" #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused void main() {float Ax2,Ay2,Bx2,By2,Cx2,Cy2,P2; float Ax1,Ay1,Bx1,By1,Cx1,Cy1,P1; Triangle T2,T1; printf("Vvedit' koordynaty pershoho trykutnyka: A(x,y),B(x,y),C(x,y)\n"); cin >> T2; printf("Vvedit' koordynaty druhoho trykutnyka: A(x,y),B(x,y),C(x,y)\n"); cin >> T1; P2=T2.GetPerum(); printf("Perymetr 1 trykutnyka %f\n",P2); P1=T1.GetPerum(); printf("Perymetr 2 trykutnyka %f\n",P1); if (T2==T1) printf("Trykutnyky odnakovi\n"); else printf("Trykutnyky rizni\n"); if (T2.GetOzn()==1) printf("Trykutnyk 1 rivnostoronnij\n"); else printf("Trykutnyk 1 NE rivnostoronnij\n"); if (T1.GetOzn()==1) printf("Trykutnyk 2 rivnostoronnij\n"); else printf("Trykutnyk 2 NE rivnostoronnij\n"); float Z2[2],Z1[2]; printf("Vyznachte zsuv 1 trykutnyka (x,y): "); scanf("%f%f",&Z2[0],&Z2[1]); T2 += Z2; printf("\nVyznachte zsuv 2 trykutnyka (x,y): "); scanf("%f%f",&Z1[0],&Z1[1]); T1 += Z1; cout << T2; cout << T1; getch(); } //--------------------------------------------------------------------------- Файл: Triangle.cpp #include <math.h> #include "Triangle.h" #pragma hdrstop //--------------------------------------------------------------------------- float Triangle::GetPerum() {float P; AB=sqrt(pow((B[0]-A[0]),2)+pow((B[1]-A[1]),2)); BC=sqrt(pow((C[0]-B[0]),2)+pow((C[1]-B[1]),2)); AC=sqrt(pow((A[0]-C[0]),2)+pow((A[1]-C[1]),2)); P=AB+BC+AC; return P; }; //--------------------------------------------------------------------------- int Triangle::operator ==(Triangle &T1) {if ((T1.A[0]-A[0])==(T1.A[1]-A[1])==(T1.B[0]-B[0])==(T1.B[1]-B[1])==(T1.C[0]-C[0])==(T1.B[1]-B[1])) return 1; else return 0; }; //--------------------------------------------------------------------------- int Triangle::GetOzn() {if (AB==BC==AC) Ozn=1; else Ozn=0; return Ozn; }; //--------------------------------------------------------------------------- void operator +=(Triangle &TT,float *P) {TT.A[0]=TT.A[0]+*P; TT.A[1]=TT.A[1]+*(P+1); TT.B[0]=TT.B[0]+*P; TT.B[1]=TT.B[1]+*(P+1); TT.C[0]=TT.C[0]+*P; TT.C[1]=TT.C[1]+*(P+1); }; //--------------------------------------------------------------------------- void operator >> (istream &in,Triangle &T1) {in >> T1.A[0] ; in >> T1.A[1] ; in >> T1.B[0] ; in >> T1.B[1] ; in >> T1.C[0] ; in >> T1.C[1] ; }; //--------------------------------------------------------------------------- void operator << (ostream &out,Triangle&T1) {out << T1.A[0] << " "; out << T1.A[1] << " "; out << T1.B[0] << " "; out << T1.B[1] << " "; out << T1.C[0] << " "; out << T1.C[1] << " "; out << "\n"; }; //--------------------------------------------------------------------------- #pragma package(smart_init) Файл: Triangle.h #ifndef TriangleH #define TriangleH #include <iostream.h> //--------------------------------------------------------------------------- class Triangle {protected: float A[2],B[2],C[2]; float AB,BC,AC; int Ozn; public: float GetPerum(); int operator ==(Triangle &T1); int GetOzn(); friend void operator +=(Triangle &TT,float *P); friend void operator <<(ostream &out,Triangle &T); friend void operator >>(istream &in,Triangle &T); }; //--------------------------------------------------------------------------- #endif 3.Протокол роботи програми.   Висновок: на цій лабораторній роботі я навчитися перевантажувати функції та операції, а також працювати з дружніми функціями, зрозумів основні властивості та правила роботи з перевантаженням функцій та операцій, а також особливості роботи дружніх функцій.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!