Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.19 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement