Advertisement
Ansaid

Laba_3 (Классы)

Apr 1st, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.51 KB | None | 0 0
  1. /*1. Класс Child (ребенок)
  2.   2. Класс Tiles (кафель)
  3.   3. Класс Сomplex (комплексное число) нахождение модуля
  4.   4. Класс Vector (вектор) с функциями сложения, вычитания, нахождения модуля */
  5. #include "pch.h"
  6. #include <iostream>
  7. #include <string>
  8.  
  9. using namespace std;
  10.  
  11. class Child
  12. {
  13. private:
  14.     string name;
  15.     string surname;
  16.     int age;
  17. public:
  18.     void set_info();
  19.     void get_info();
  20. };
  21.  
  22. class Tiles
  23. {
  24. public:
  25.     string brand;
  26.     float size_h;
  27.     float size_w;
  28.     float price;
  29.     void getData();
  30. };
  31.  
  32. class Complex
  33. {
  34. private:
  35.     float x;
  36.     float y;
  37. public:
  38.     void set_info();
  39.     void get_info();
  40.     void abs();
  41. };
  42.  
  43. class Vector
  44. {
  45. private:
  46.     float x;
  47.     float y;
  48.     float z;
  49. public:
  50.     void set_info();
  51.     void get_info();
  52.     void sum(Vector a, Vector b);
  53.     void sub(Vector a, Vector b);
  54.     void abs();
  55. };
  56.  
  57. int main()
  58. {
  59.     setlocale(LC_ALL, "Russian");
  60.     int choice;
  61.     cout << "Введите номер задания: ";
  62.     cin >> choice;
  63.     switch (choice)
  64.     {
  65.     case 1:
  66.     {
  67.         Child child_1, child_2;
  68.         cout << "Введите информацию о первом ребенке:" << endl;
  69.         child_1.set_info();
  70.         cout << "Введите информацию о втором ребенке:" << endl;
  71.         child_2.set_info();
  72.         cout << "Информация о первом ребенке:" << endl;
  73.         child_1.get_info();
  74.         cout << "Информация о втором ребенке:" << endl;
  75.         child_2.get_info();
  76.     }
  77.     break;
  78.  
  79.     case 2:
  80.     {
  81.         Tiles tile_1, tile_2;
  82.         cout << "Введите информацию о первом виде кафеля:" << endl;
  83.         cout << "Введите бренд кафеля: ";
  84.         cin >> tile_1.brand;
  85.         cout << "Введите высоту кафеля: ";
  86.         cin >> tile_1.size_h;
  87.         cout << "Введите ширину кафеля: ";
  88.         cin >> tile_1.size_w;
  89.         cout << "Введите цену кафеля: ";
  90.         cin >> tile_1.price;
  91.  
  92.         cout << "Введите информацию о втором виде кафеля:" << endl;
  93.         cout << "Введите бренд кафеля: ";
  94.         cin >> tile_2.brand;
  95.         cout << "Введите высоту кафеля: ";
  96.         cin >> tile_2.size_h;
  97.         cout << "Введите ширину кафеля: ";
  98.         cin >> tile_2.size_w;
  99.         cout << "Введите цену кафеля: ";
  100.         cin >> tile_2.price;
  101.  
  102.         cout << "\nИнформация о первом виде кафеля:" << endl;
  103.         tile_1.getData();
  104.         cout << "\nИнформацию о втором виде кафеля:" << endl;
  105.         tile_2.getData();
  106.     }
  107.         break;
  108.  
  109.     case 3:
  110.     {
  111.         Complex number;
  112.         cout << "Введите число: " << endl;
  113.         number.set_info();
  114.         cout << "\nЗначение числа: " << endl;
  115.         number.get_info();
  116.         number.abs();
  117.     }
  118.         break;
  119.  
  120.     case 4:
  121.     {
  122.         Vector vector_1, vector_2, vector_sum, vector_sub;
  123.         cout << "Введите первый вектор: " << endl;
  124.         vector_1.set_info();
  125.         cout << "Введите второй вектор: " << endl;
  126.         vector_2.set_info();
  127.  
  128.         cout << "\nЗначение координат первого вектора: " << endl;
  129.         vector_1.get_info();
  130.         cout << "\nЗначение координат второго вектора: " << endl;
  131.         vector_2.get_info();
  132.  
  133.         cout << "\nСумма координат первого и второго вектора: " << endl;
  134.         vector_sum.sum(vector_1, vector_2);
  135.         vector_sum.get_info();
  136.  
  137.         cout << "\nРазность координат первого второго вектора: " << endl;
  138.         vector_sub.sub(vector_1, vector_2);
  139.         vector_sub.get_info();
  140.  
  141.         cout << "\nМодуль первого вектора: ";
  142.         vector_1.abs();
  143.         cout << "\nМодуль второго вектора: ";
  144.         vector_2.abs();
  145.     }
  146.         break;
  147.     default:
  148.         break;
  149.     }
  150. }
  151.  
  152. void Child::set_info()
  153. {
  154.     cout << "Введите имя ребенка:";
  155.     cin >> name;
  156.     cout << "Введите фамилию ребенка: ";
  157.     cin >> surname;
  158.     cout << "Введите возраст ребенка: ";
  159.     cin >> age;
  160. }
  161.  
  162. void Child :: get_info()
  163. {
  164.     cout << "Имя ребенка: " << name << endl;
  165.     cout << "Фамилия ребенка: " << surname << endl;
  166.     cout << "Возраст ребенка: " << age << endl;
  167. }
  168.  
  169. void Tiles :: getData()
  170. {
  171.     cout << "Бренд кафеля" << brand << endl;
  172.     cout << "Высота кафеля" << size_h << endl;
  173.     cout << "Ширина кафеля" << size_w << endl;
  174.     cout << "Цена кафеля" << price << endl;
  175. }
  176.  
  177. void Complex::set_info()
  178. {
  179.     cout << "Введите X: ";
  180.     cin >> x;
  181.     cout << "Введите Y: ";
  182.     cin >> y;
  183. }
  184.  
  185. void Complex::get_info()
  186. {
  187.     cout << "Значение X: " << x << endl;
  188.     cout << "Значение Y: " << y << endl;
  189. }
  190.  
  191. void Complex::abs()
  192. {
  193.     float result = sqrt(x * x + y * y);
  194.     cout << "\nМодуль числа равен: " << result << endl;
  195. }
  196.  
  197. void Vector :: set_info()
  198. {
  199.     cout << "Введите X: ";
  200.     cin >> x;
  201.     cout << "Введите Y: ";
  202.     cin >> y;
  203.     cout << "Введите Z: ";
  204.     cin >> z;
  205. }
  206.  
  207. void Vector::get_info()
  208. {
  209.     cout << "Значение X: " << x << endl;
  210.     cout << "Значение Y: " << y << endl;
  211.     cout << "Значение Z: " << z << endl;
  212. }
  213.  
  214. void Vector::sum(Vector a, Vector b)
  215. {
  216.     x = a.x + b.x;
  217.     y = a.y + b.y;
  218.     z = a.z + b.z;
  219. }
  220.  
  221. void Vector::sub(Vector a, Vector b)
  222. {
  223.     x = a.x - b.x;
  224.     y = a.y - b.y;
  225.     z = a.z - b.z;
  226. }
  227.  
  228. void Vector::abs()
  229. {
  230.     float result = sqrt(x*x + y * y + z*z);
  231.     cout << result << endl;
  232. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement