Успадкування. Створення та використання ієрархії класів.”

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

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

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

Рік:
2014
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Алгоритмічні мови та програмування Частина 2

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра ООП Звіт Про виконання лабораторної роботи №4 “Успадкування. Створення та використання ієрархії класів.” 1. Завдання: Розробити ієрархію класів згідно отриманого завдання 17 Геометричні фігури: коло, трикутник, циліндр, конус, сфера.   2. Структурна схема ієрархії класів Geometry  Square, Radius   Float     Surround  Capacity, Height   Triagle  Height, Perimetr   Circle  Length   Cone    Cylinder     Sphere     3. Текст програми. #include <iostream> #include <cmath> #include <conio.h> using namespace std; const float PI = 3.14; class Geometric { protected: double square, radius; public: void message() { cout << "\n Введiть данi:\n ";} void outputData() { cout << " Площа: " << square << " " << endl; } void img() { for (int i = 0; i < 52; i++) cout << "_"; cout << endl; } }; //========================================= // Фігури на площині class Float : public Geometric{ }; // Коло class Circle : public Float { private: double lenght; // Довжина кола public: void inputData() { cout << "Введiть радiус: "; cin >> radius; cout << endl; } void calculate () { lenght = (2 * PI * radius); square = (2 * PI * pow(radius,2) ); } void outputData() { cout << " Довжина кола: " << lenght << endl; Geometric::outputData(); } }; // Трикутник class Triagle : public Float{ private: double height, sideA, sideB, sideC, perimetr; public: void inputData() { cout << "Введiть висоту трикутника: "; cin >> height; cout << " Введiть довжини сторiн: \n" <<"\tСторона A: "; cin >> sideA; cout << "\tСторона B: "; cin >> sideB; cout << "\tСторона C: "; cin >> sideC; cout << endl; } void calculate() { square = 0.5 * sideA * height; perimetr = sideA + sideA + sideC; } void outputData() { cout << "Периметр трикутника: " << perimetr << endl; Geometric::outputData(); } }; //========================================= //Фігури у просторі class Surround : public Geometric { protected: double capacity, //Об'єм height; public: void inputData() { cout <<"Введiть радiус: "; cin >> radius; } void outputData() { cout << "\n Площа: " << square << endl; cout << " Обєм: " << capacity << endl; } }; // Циліндр class Cylinder : public Surround { public: void inputData() { Surround::inputData(); cout << "Введiть висоту: "; cin >> height; } void calculate() { square = 2 * PI * radius * height; capacity = PI * pow(radius, 2) * height; } }; // Конус class Cone : public Surround { private: double generatix; // Твірна конуса public: void inputData() { Surround::inputData(); cout << " Введiть виссоту: "; cin >> height; cout << " Введiть твiрну: "; cin >> generatix; } void calculate() { square = PI * radius * generatix; capacity = ((PI * pow(radius, 2) * height) /3); } }; // Сфера class Sphere : public Surround { public: void inputData() { Surround::inputData(); } void calculate() { square = 4 * PI * pow(radius,2); capacity = 4/3 * PI * pow(radius, 3); } }; //========================================= int main() { setlocale(0, ""); int key; // Вибір в меню bool exit = false; // Змінна циклу while while (!exit) { Geometric image; image.img(); cout << "\n Виберiть фiгуру: \n" << "(1) Коло \n" << "(2) Трикутник \n" << "(3) Цилiндр \n" << "(4) Конус \n" << "(5) Сфера \n" << "Вихiд \n"; cin >> key; switch (key) { case 0: {exit = true; break; } case 1: {Circle crcl; crcl.message(); crcl.inputData(); crcl.calculate(); crcl.outputData(); break; } case 2: {Triagle trgl; trgl.message(); trgl.inputData(); trgl.calculate(); trgl.outputData(); break; } case 3: {Cylinder clndr; clndr.message(); clndr.inputData(); clndr.calculate(); clndr.outputData(); break; } case 4: {Cone cn; cn.message(); cn.inputData(); cn.calculate(); cn.outputData(); break; } case 5: {Sphere sphr; sphr.message(); sphr.inputData(); sphr.calculate(); sphr.outputData(); break; } } // Кінець switch cout << endl; } // Кінець while _getch(); return 0; } 4. Результат виконання програми 
Антиботан аватар за замовчуванням

12.04.2016 18:04-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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