SHARE
TWEET

Untitled

a guest Oct 23rd, 2019 84 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #include <iostream>
  3. #include <fstream>
  4. #include <vector>
  5. using namespace std;
  6.  
  7. //class BD {
  8. //  vector <Figure*> vect;
  9. //};
  10. ofstream fout;
  11.  
  12.  
  13. class point {
  14. public:
  15.     double x = rand() % 100;
  16.     double y = rand() % 100;
  17. };
  18. class Figure {
  19. public:
  20.    
  21.     Figure() {
  22.    
  23.     }
  24.     virtual void Bild()
  25.     {
  26.     }
  27.     ;
  28. };
  29. vector <Figure*> vect;
  30. class Krug :public Figure {
  31.    
  32. public:
  33.     double rad;
  34.     point p1;
  35.     Krug() {
  36.     rad = rand() % 11;
  37.     }
  38.     void Bild() {
  39.         fout << "Фигура : Круг" << endl;
  40.         fout << "Координаты:"<< endl << "x = "<< p1.x << "; "<<"y = "<<p1.y<< endl;
  41.         fout << "Радиус круга : " << rad << endl << endl;
  42.     }
  43. };
  44. class Tochka :public Figure {
  45. public:
  46.     point p1;
  47.     void Bild() {
  48.         fout << "Фигура : точка" << endl;
  49.         fout << "Координаты: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl << endl;
  50.     }
  51. };
  52. class Primaya :public Figure {
  53. public:
  54.     point p1;
  55.     point p2;
  56.     void Bild() {
  57.         fout << "Фигура : прямая" << endl;
  58.         fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
  59.         fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl << endl;
  60.     }
  61. };
  62. class Treug : public Figure{
  63. public:
  64.     point p1;
  65.     point p2;
  66.     point p3;
  67.     void Bild() {
  68.         fout << "Фигура : треугольник" << endl;
  69.         fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
  70.         fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl;
  71.         fout << "Координаты третьей точки: " << endl << "x = " << p3.x << "; " << "y = " << p3.y << endl << endl;
  72.     }
  73. };
  74. class Kvadrat :public Figure {
  75. public:
  76.     point p1;
  77.     point p2;
  78.     point p3;
  79.     point p4;
  80.     void Bild() {
  81.         fout << "Фигура : квадрат" << endl;
  82.         fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
  83.         fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl;
  84.         fout << "Координаты третьей точки: " << endl << "x = " << p3.x << "; " << "y = " << p3.y << endl;
  85.         fout << "Координаты четвертой точки: " << endl << "x = " << p4.x << "; " << "y = " << p4.y << endl << endl;
  86.     }
  87. };
  88. class Pitiug :public Figure {
  89. public:
  90.     point p1;
  91.     point p2;
  92.     point p3;
  93.     point p4;
  94.     point p5;
  95.     void Bild() {
  96.         fout << "Фигура : пятиугольник" << endl;
  97.         fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
  98.         fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl;
  99.         fout << "Координаты третьей точки: " << endl << "x = " << p3.x << "; " << "y = " << p3.y << endl;
  100.         fout << "Координаты четвертой точки: " << endl << "x = " << p4.x << "; " << "y = " << p4.y << endl;
  101.         fout << "Координаты пятой точки: " << endl << "x = " << p5.x << "; " << "y = " << p5.y << endl << endl;
  102.     }
  103. };
  104. class Histiug :public Figure {
  105. public:
  106.     point p1;
  107.     point p2;
  108.     point p3;
  109.     point p4;
  110.     point p5;
  111.     point p6;
  112.     void Bild() {
  113.         fout << "Фигура : пятиугольник" << endl;
  114.         fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
  115.         fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl;
  116.         fout << "Координаты третьей точки: " << endl << "x = " << p3.x << "; " << "y = " << p3.y << endl;
  117.         fout << "Координаты четвертой точки: " << endl << "x = " << p4.x << "; " << "y = " << p4.y << endl;
  118.         fout << "Координаты пятой точки: " << endl << "x = " << p5.x << "; " << "y = " << p5.y << endl;
  119.         fout << "Координаты шестой точки: " << endl << "x = " << p6.x << "; " << "y = " << p6.y << endl << endl;
  120.     }
  121. };
  122.  
  123.  
  124. void push() {
  125.     int n = rand() % 7;
  126.     switch (n)
  127.     {
  128.     case(0):
  129.         vect.push_back(new Krug());
  130.         break;
  131.     case(1):
  132.         vect.push_back(new Tochka());
  133.         break;
  134.     case(2):
  135.         vect.push_back(new Primaya());
  136.         break;
  137.     case(3):
  138.         vect.push_back(new Treug());
  139.         break;
  140.     case(4):
  141.         vect.push_back(new Kvadrat());
  142.         break;
  143.     case(5):
  144.         vect.push_back(new Pitiug());
  145.         break;
  146.     case(6):
  147.         vect.push_back(new Histiug());
  148.         break;
  149.     default:
  150.         break;
  151.     }
  152. }
  153. void print_info(vector <Figure*> vect) {
  154.     //вывод информации о каждой фигуры из базы
  155.  
  156.     for (int i = 0; i < vect.size(); i++) {
  157.         fout << "Объект #" << i + 1 << " = " << vect[i]<< endl;
  158.     }
  159. }
  160. int main()
  161. {
  162.  
  163.     setlocale(LC_ALL, "rus");
  164.     fout.open("otput.txt");
  165.     //1 push создаем
  166.     int n;
  167.     cout << "Введите количество фигур :";
  168.     cin >> n;//колво фигур
  169.     for (int i = 0; i < n; i++)
  170.     {
  171.         push();//генерируем элемент
  172.     }
  173.     for (int i = 0; i < vect.size(); i++)
  174.     {
  175.         vect[i]->Bild();
  176.     }
  177.    
  178.     fout.close();
  179. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top