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

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

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

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

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

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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