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

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

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

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

Рік:
2016
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Алгоритмічні мови та програмування Частина 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:56

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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