Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- using namespace std;
- //class BD {
- // vector <Figure*> vect;
- //};
- ofstream fout;
- class point {
- public:
- double x = rand() % 100;
- double y = rand() % 100;
- };
- class Figure {
- public:
- Figure() {
- }
- virtual void Bild()
- {
- }
- ;
- };
- vector <Figure*> vect;
- class Krug :public Figure {
- public:
- double rad;
- point p1;
- Krug() {
- rad = rand() % 11;
- }
- void Bild() {
- fout << "Фигура : Круг" << endl;
- fout << "Координаты:"<< endl << "x = "<< p1.x << "; "<<"y = "<<p1.y<< endl;
- fout << "Радиус круга : " << rad << endl << endl;
- }
- };
- class Tochka :public Figure {
- public:
- point p1;
- void Bild() {
- fout << "Фигура : точка" << endl;
- fout << "Координаты: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl << endl;
- }
- };
- class Primaya :public Figure {
- public:
- point p1;
- point p2;
- void Bild() {
- fout << "Фигура : прямая" << endl;
- fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
- fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl << endl;
- }
- };
- class Treug : public Figure{
- public:
- point p1;
- point p2;
- point p3;
- void Bild() {
- fout << "Фигура : треугольник" << endl;
- fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
- fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl;
- fout << "Координаты третьей точки: " << endl << "x = " << p3.x << "; " << "y = " << p3.y << endl << endl;
- }
- };
- class Kvadrat :public Figure {
- public:
- point p1;
- point p2;
- point p3;
- point p4;
- void Bild() {
- fout << "Фигура : квадрат" << endl;
- fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
- fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl;
- fout << "Координаты третьей точки: " << endl << "x = " << p3.x << "; " << "y = " << p3.y << endl;
- fout << "Координаты четвертой точки: " << endl << "x = " << p4.x << "; " << "y = " << p4.y << endl << endl;
- }
- };
- class Pitiug :public Figure {
- public:
- point p1;
- point p2;
- point p3;
- point p4;
- point p5;
- void Bild() {
- fout << "Фигура : пятиугольник" << endl;
- fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
- fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl;
- fout << "Координаты третьей точки: " << endl << "x = " << p3.x << "; " << "y = " << p3.y << endl;
- fout << "Координаты четвертой точки: " << endl << "x = " << p4.x << "; " << "y = " << p4.y << endl;
- fout << "Координаты пятой точки: " << endl << "x = " << p5.x << "; " << "y = " << p5.y << endl << endl;
- }
- };
- class Histiug :public Figure {
- public:
- point p1;
- point p2;
- point p3;
- point p4;
- point p5;
- point p6;
- void Bild() {
- fout << "Фигура : пятиугольник" << endl;
- fout << "Координаты первой точки: " << endl << "x = " << p1.x << "; " << "y = " << p1.y << endl;
- fout << "Координаты второй точки: " << endl << "x = " << p2.x << "; " << "y = " << p2.y << endl;
- fout << "Координаты третьей точки: " << endl << "x = " << p3.x << "; " << "y = " << p3.y << endl;
- fout << "Координаты четвертой точки: " << endl << "x = " << p4.x << "; " << "y = " << p4.y << endl;
- fout << "Координаты пятой точки: " << endl << "x = " << p5.x << "; " << "y = " << p5.y << endl;
- fout << "Координаты шестой точки: " << endl << "x = " << p6.x << "; " << "y = " << p6.y << endl << endl;
- }
- };
- void push() {
- int n = rand() % 7;
- switch (n)
- {
- case(0):
- vect.push_back(new Krug());
- break;
- case(1):
- vect.push_back(new Tochka());
- break;
- case(2):
- vect.push_back(new Primaya());
- break;
- case(3):
- vect.push_back(new Treug());
- break;
- case(4):
- vect.push_back(new Kvadrat());
- break;
- case(5):
- vect.push_back(new Pitiug());
- break;
- case(6):
- vect.push_back(new Histiug());
- break;
- default:
- break;
- }
- }
- void print_info(vector <Figure*> vect) {
- //вывод информации о каждой фигуры из базы
- for (int i = 0; i < vect.size(); i++) {
- fout << "Объект #" << i + 1 << " = " << vect[i]<< endl;
- }
- }
- int main()
- {
- setlocale(LC_ALL, "rus");
- fout.open("otput.txt");
- //1 push создаем
- int n;
- cout << "Введите количество фигур :";
- cin >> n;//колво фигур
- for (int i = 0; i < n; i++)
- {
- push();//генерируем элемент
- }
- for (int i = 0; i < vect.size(); i++)
- {
- vect[i]->Bild();
- }
- fout.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement