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

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

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

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

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

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра КСА Звіт з лабораторної роботи №4 з дисципліни: “Алгоритмічні мови та програмування. Частина 2” на тему: “ Успадкування. Створення та використання ієрархії класів.” Львів-2014 Завдання Розробити ієрархію класів згідно отриманого завдання (таблиця 1) та описати їх алгоритмічною мовою С++. При необхідності використати абстрактні класи і віртуальні функції. Написати фрагмент програми з використанням об’єктів створених класових типів. 3 Просторові фігури: конус, паралепіпед, куб, сфера, еліпсоїд, циліндр.   Діаграма UML  Текст програми: #include <iostream> #include <math.h> #include <conio.h> using namespace std; const char ESC = 27; double pi = 3.1415; class geometric_figures { protected: double S,V; public: void input() { cout << " " << " <<<<< Введення параметрiв фiгури >>>>> " << "\n"; } void output() { cout << " " << "<<<<< Виведення результатiв обчислення >>>>>" << "\n"; cout << "Площа фiгури: S= " << S << "\n"; cout << "Обєм фiгури: V= " << V << "\n"; } }; ///////////////////////////////////////////////////////////////////////////////////// class konus : public geometric_figures { private: float R,H,l; public: void input() { geometric_figures::input(); cout << " " << " <<<<< Конус >>>>> " << "\n"; cout << "Введiть радiус конуса: R= "; cin >> R; cout << "Введiть висоту конуса: H= "; cin >> H; } void calc() { l = sqrt(pow(R,2)+pow(H,2)); S = pi * R * (R+l); V = pi*pow(R,2)*H*1/3; } void output() { geometric_figures::output(); } }; ///////////////////////////////////////////////////////////////////////////////////// class paralelepiped : public geometric_figures { private: float a,b,c; public: void input() { geometric_figures::input(); cout << " " << " <<<<< Паралелепiпед >>>>> " << "\n"; cout << "Введiть довжину меншого ребра паралелепiпеда: a= "; cin >> a; cout << "Введiть довжину бiльшого ребра паралелепiпеда: b= "; cin >> b; cout << "Введiть довжину висоти паралелепiпеда: c= "; cin >> c; } void calc() { S = 2*(a*b+b*c+c*a); V = a*b*c; } void output() { geometric_figures::output(); } }; ///////////////////////////////////////////////////////////////////////////////////// class cub : public geometric_figures { private: float a; public: void input() { geometric_figures::input(); cout << " " << " <<<<< Куб >>>>> " << "\n"; cout << "Введiть довжину ребра куба: a= "; cin >> a; } void calc() { S = 6*pow(a,2); V = pow(a,3); } void output() { geometric_figures::output(); } }; ///////////////////////////////////////////////////////////////////////////////////// class sphere : public geometric_figures { private: float R; public: void input() { geometric_figures::input(); cout << " " << " <<<<< Сфера >>>>> " << "\n"; cout << "Введiть довжину радiуса кулi: R= "; cin >> R; } void calc() { S = 4*pi*pow(R,2); V = pi*pow(R,3)*4/3; } void output() { geometric_figures::output(); } }; ///////////////////////////////////////////////////////////////////////////////////// class elipsoid : public geometric_figures { private: float a,b; public: void input() { geometric_figures::input(); cout << " " << " <<<<< Елiпсоїд >>>>> " << "\n"; cout << "Введiть довжину великої напiвосi елiпсоїда: a= "; cin >> a; cout << "Введiть довжину малої напiвосi елiпсоїда: b= "; cin >> b; } void calc() { S = 2*pi*a*(a+(pow(b,2)/sqrt(pow(a,2)-pow(b,2)))*log((a+sqrt(pow(a,2)-pow(b,2)))/b)); V = 4*pi*pow(a,2)*b; } void output() { geometric_figures::output(); } }; ///////////////////////////////////////////////////////////////////////////////////// int main() { setlocale (0,""); char ch; cout << "Виберiть геометричну фiгуру, площу якої ви хочете обчислити. \n" << " (1) Конус \n" << " (2) Паралелепiпед \n" << " (3) Куб \n" << " (4) Сфера \n" << " (5) Елiпсоїд \n" << " Esc для виходу.\n "; do { cout <<"Введiть вiдповiдну цифру: \n"; ch = _getch(); if(ch == '1') { konus k; k.input(); k.calc(); k.output(); } if(ch == '2') { paralelepiped p; p.input(); p.calc(); p.output(); } if(ch == '3') { cub c; c.input(); c.calc(); c.output(); } if(ch == '4') { sphere s; s.input(); s.calc(); s.output(); } if(ch == '5') { elipsoid e; e.input(); e.calc(); e.output(); } }while(ch != ESC); } Результат роботи програми: 
Антиботан аватар за замовчуванням

10.03.2017 17:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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