Оголошення та структура класу

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

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

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

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КН

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

Міністерство освіти і науки, молоді та спорту України НУ «Львівська політехніка» Кафедра АСУ / Лабораторна робота №1 На тему: «Оголошення та структура класу» Мета роботи: ознайомитись з основними компонентами інтегрованого середовища програмування; навчитись створювати, відлагоджувати і виконувати програмні проекти; вивчити оголошення класу та рівні захисту його елементів. Послідовність роботи: 1. Ознайомитись зі складом та режимами роботи обраного інтегрованого середовища C++. 2. Ознайомитись зі структурою програми мовою C++. 3. Побудувати та виконати програмний проект мовою C++. 4. Ознайомитися з особливостями оголошення класу та його об’єктів. 5. Відповідно до завдання написати програму мовою C++ та реалізувати її на комп’ютері. 6. Оформити звіт про роботу за такою структурою: назва роботи; мета роботи; послідовність роботи; індивідуальне завдання; текст програми; контрольний приклад та результати роботи програми; висновки. Індивідуальне завдання: Створити клас – трикутник. У закритій частині описати поля – довжини сторін. Визначити конструктор, деструктор, функції зміни значень полів і отримання їхніх значень, виведення елементів класу, функції обчислення площі, периметру та кутів. Функції зміни значень полів класу повинні перевіряти коректність параметрів, що задаються. Розвязок: #include <iostream> #include <cmath> using namespace std; double const PI 3.14159265; class triangle { double a, b, c; public: double get_a() {return a;} void set_a(double x1) {if (x1 > 0) a = x1;} void show_a() {cout<<a<<endl;} double get_b() {return b;} void set_b(double x2) {if (x2 > 0) b = x2;} void show_b() {cout<<b<<endl;} double get_c() {return c;} void set_c(double x3) {if (x3 > 0) c = x3;} void show_c() {cout<<c<<endl;} double angle_ab(); double angle_bc(); double angle_ca(); double perimeter() {return a + b + c;} double area(); bool check(double C, double B, double A); triangle(double x1, double x2, double x3); ~triangle (){}; }; void main() { triangle object = triangle(5,6,15); object.set_a(10); object.set_b(13); object.set_c(15); cout<<"Side A: "<<object.get_a()<<endl; cout<<"Side B: "<<object.get_b()<<endl; cout<<"Side C: "<<object.get_c()<<endl; cout<<"Angle alpha: "<<object.angle_ab()<<endl; cout<<"Angle beta: "<<object.angle_bc()<<endl; cout<<"Angle gamma: "<<object.angle_ca()<<endl; cout<<"Perimeter: "<<object.perimeter()<<endl; cout<<"Area: "<<object.area()<<endl; system("pause"); } double triangle::angle_ab() { double ang = acos(-pow(a, 2) + pow(b, 2) + pow(c, 2)) / (2 * b *c) * 180 / PI; return ang; } double triangle::angle_bc() { double ang = acos((pow(a, 2) - pow(b, 2) + pow(c, 2)) / (2 * a * c)) * 180 / PI; return ang; } double triangle::angle_ca() { double ang = acos(pow(a, 2) + pow(b, 2) - pow(c, 2)) / (2 * a * b) * 180 / PI; return ang; } double triangle::area() { double p = (a + b + c)/2; return sqrt(p*(p-a)*(p-b)*(p-c)); } bool triangle::check(double A, double B, double C) { if (A+B>C && B+C>A && C+A>B) return true; else return false; } triangle::triangle(double x1, double x2, double x3) { if (check(x1, x2, x3)) { a = x1; b = x2; c = x3; } else cout<<"Error. Incorrect data."<<endl; } / Висновок: На даній лабораторній роботі я навчився оголошувати класи, ознайомився з конструкторами та деструкторами. У моїй лабораторній роботі не використовується деструктор за призначенням оскільки формально завдання деструктора полягає у вивільнені динамічно виділеної пам’яті, що в моїй роботі не використовується.
Антиботан аватар за замовчуванням

19.04.2012 14:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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