/// <summary>
        /// Основной код программы
        /// Создаются экземпляры прямоугольника, квадрата и кругов
        /// Производится сравнение фигур. Результат сравнения - объект FigureComparisionResult,
        /// который можно неявно преобразовать в строку
        /// </summary>
        static void Main()
        {
            Rectangle r = new Rectangle(0, 10, 12, 100, 120);

            Console.WriteLine(r);
            Rectangle q = new Quadrate(1, new Point(15, 6), 40);

            Console.WriteLine(q);
            Circle c1 = new Circle(3, 10, 12, 400);

            Console.WriteLine(c1);
            Circle c2 = new Circle(4, 10, 12, 400);

            Console.WriteLine(c2);

            FigureComparisionResult fcr1 = r > q;
            FigureComparisionResult fcr2 = r < c1;

            Console.WriteLine(fcr1);
            Console.WriteLine(fcr2);
            Console.WriteLine($"Фигуры {c1.ID} и {c2.ID} {(c1 == c2? "равны" : "не равны") }");

            Console.ReadKey();
        }
예제 #2
0
파일: Program.cs 프로젝트: 4Marvin2/Lab_C
        static void Main(string[] args)
        {
            Rectangle a = new Rectangle(77, 42);
            Quadrate  b = new Quadrate(56);
            Circle    c = new Circle(24);
            Rectangle d = new Rectangle(5, 3);
            Circle    e = new Circle(100);
            Quadrate  f = new Quadrate(22);

            ArrayList first_list = new ArrayList()
            {
                a, b, c, d, e, f
            };

            Console.WriteLine("Not sorted ArrayList");

            foreach (GeometricFigure el in first_list)
            {
                Console.WriteLine(Convert.ToString(el.Square()));
            }

            Console.WriteLine("\nSorted List");

            List <GeometricFigure> geometric_figures = new List <GeometricFigure>();

            geometric_figures.Add(new Rectangle(77, 42));
            geometric_figures.Add(new Quadrate(56));
            geometric_figures.Add(new Circle(24));
            geometric_figures.Add(new Rectangle(5, 3));
            geometric_figures.Add(new Circle(100));
            geometric_figures.Add(new Quadrate(22));

            GeometricFigure curr;

            for (int i = 0; i < geometric_figures.Count; i++)
            {
                for (int j = 0; j < geometric_figures.Count - 1; j++)
                {
                    if (geometric_figures[j].CompareTo(geometric_figures[j + 1]) > 0)
                    {
                        curr = geometric_figures[j];
                        geometric_figures[j]     = geometric_figures[j + 1];
                        geometric_figures[j + 1] = curr;
                    }
                }
            }
            for (int i = 0; i < geometric_figures.Count; i++)
            {
                Console.WriteLine(Convert.ToString(geometric_figures[i].Square()));
            }

            Console.WriteLine("\nExample of matrix");

            Matrix <GeometricFigure> matrix_of_figures = new Matrix <GeometricFigure>(2, 2, 2, f);

            matrix_of_figures[0, 0, 1] = a;
            matrix_of_figures[0, 1, 0] = b;
            matrix_of_figures[0, 0, 0] = c;
            matrix_of_figures[0, 1, 1] = d;
            matrix_of_figures[1, 1, 0] = e;
            Console.WriteLine(matrix_of_figures);

            Console.WriteLine("\nExample of SimpleStack");

            SimpleStack <GeometricFigure> stack_of_figures = new SimpleStack <GeometricFigure>();

            stack_of_figures.Push(a);
            stack_of_figures.Push(b);
            stack_of_figures.Push(c);
            while (stack_of_figures.Count > 0)
            {
                Console.WriteLine(stack_of_figures.Pop());
            }

            Console.ReadKey();
        }
예제 #3
0
    public static void Main(string[] args)
    {
        double perimeter;  //周长
        double area;       //面积
        double volume;     //体积

        //圆类
        Circle circle = new Circle(37, 43, 2.5);

        Console.WriteLine(circle.ToString());
        perimeter = circle.CircumFerence();
        area      = circle.Area();
        Console.WriteLine("该圆的周长是:{0}", perimeter);
        Console.WriteLine("该圆的面积是:{0}", area);
        circle.X = 20;
        circle.Y = 20;

        Console.WriteLine("该圆的新圆心坐标是:{0},{1}", circle.X, circle.Y);
        Console.WriteLine();

        //圆柱体
        double   high     = 10;
        Cylinder cylinder = new Cylinder(circle, high);

        Console.WriteLine(cylinder.ToString());
        area   = cylinder.Area();
        volume = cylinder.Volume();
        Console.WriteLine("该圆柱体的面积是:{0}", area);
        Console.WriteLine("该圆柱体的体积是:{0}", volume);
        Console.WriteLine();

        //三角形
        Point    point1    = new Point(1, 1);
        Point    point2    = new Point(4, 5);
        Point    point3    = new Point(3, 8);
        Line     line1     = new Line(point1, point2);
        Line     line2     = new Line(point2, point3);
        Line     line3     = new Line(point1, point3);
        Triangle triangle1 = new Triangle(point1, point2, point3);

        Console.WriteLine(triangle1.ToString());
        Triangle triangle2 = new Triangle(line1, line2, line3);

        perimeter = triangle2.Perimeter();
        area      = triangle2.Area();
        Console.WriteLine("该三角形的周长是:{0}", perimeter);
        Console.WriteLine("该三角形的面积是:{0}", area);
        if (triangle2.IsEquicrural())
        {
            Console.WriteLine("该三角形是一个等腰三角形。");
            if (triangle2.IsEquilateral())
            {
                Console.WriteLine("该三角形是一个等边三角形。");
            }
        }
        else
        {
            Console.WriteLine("该三角形不是等腰三角形。");
        }
        Console.WriteLine();

        //四边形
        Point         point4         = new Point(7, 3);
        Line          line4          = new Line(point1, point4);
        Line          line5          = new Line(point3, point4);
        Quadrilateral quadrilateral1 = new Quadrilateral(point1, point2, point3, point4);

        Console.WriteLine(quadrilateral1.ToString());
        Quadrilateral quadrilateral2 = new Quadrilateral(line1, line2, line4, line5);

        perimeter = quadrilateral2.Perimeter();
        area      = quadrilateral2.Area();
        Console.WriteLine("该四边形的周长是:{0}", perimeter);
        Console.WriteLine("该四边形的面积是:{0}", area);
        Console.WriteLine();

        //梯形
        Point      point5      = new Point(2, 1);
        Point      point6      = new Point(9, 1);
        Point      point7      = new Point(7, 4);
        Point      point8      = new Point(4, 4);
        Line       line6       = new Line(point5, point6);
        Line       line7       = new Line(point6, point7);
        Line       line8       = new Line(point7, point8);
        Line       line9       = new Line(point8, point5);
        Trapaezoid trapaezoid1 = new Trapaezoid(point5, point6, point7, point8);
        Trapaezoid trapaezoid2 = new Trapaezoid(line6, line7, line8, line9);

        Console.WriteLine(trapaezoid2.ToString());
        perimeter = trapaezoid2.Perimeter();
        area      = trapaezoid2.Area();
        Console.WriteLine("该梯形的周长是:{0}", perimeter);
        Console.WriteLine("该梯形的面积是:{0}", area);
        if (trapaezoid2.IsIsosceles())
        {
            Console.WriteLine("这是一个等腰梯形。");
        }
        Console.WriteLine();

        //平行四边形
        Parallelogram parallelogram1 = new Parallelogram(point1, point2, point3, point4);

        Console.WriteLine(parallelogram1.ToString());
        Point         point9         = new Point(5, 2);
        Point         point10        = new Point(7, 5);
        Line          line10         = new Line(point5, point9);
        Line          line11         = new Line(point9, point10);
        Line          line12         = new Line(point10, point8);
        Parallelogram parallelogram2 = new Parallelogram(point5, point9, point10, point8);

        Console.WriteLine(parallelogram2.ToString());
        Parallelogram parallelogram3 = new Parallelogram(line10, line11, line12, line9);

        perimeter = parallelogram3.Perimeter();
        area      = parallelogram3.Area();
        Console.WriteLine("该平形四边形的周长是:{0}", perimeter);
        Console.WriteLine("该平行四边形的面积是:{0}", area);
        Console.WriteLine();

        //长方形
        Rectangle rectangle1 = new Rectangle(line10, line11, line12, line9);

        Console.WriteLine(rectangle1.ToString());
        Point     point13    = new Point(1, 5);
        Point     point14    = new Point(9, 5);
        Line      line13     = new Line(point1, point6);
        Line      line14     = new Line(point6, point14);
        Line      line15     = new Line(point14, point13);
        Line      line16     = new Line(point13, point1);
        Rectangle rectangle2 = new Rectangle(line13, line14, line15, line16);

        Console.WriteLine(rectangle2.ToString());
        perimeter = rectangle2.Perimeter();
        area      = rectangle2.Area();
        Console.WriteLine("该长方形的周长是:{0}", perimeter);
        Console.WriteLine("该长方形的面积是:{0}", area);
        Console.WriteLine();

        //菱形
        Point   point15 = new Point(7, 6);
        Point   point16 = new Point(4, 8);
        Point   point17 = new Point(1, 6);
        Line    line17  = new Line(point8, point15);
        Line    line18  = new Line(point15, point16);
        Line    line19  = new Line(point16, point17);
        Line    line20  = new Line(point17, point8);
        Rhombus rhombus = new Rhombus(line17, line18, line19, line20);

        Console.WriteLine(rhombus.ToString());
        perimeter = rhombus.Perimeter();
        area      = rhombus.Area();
        Console.WriteLine("该菱形的周长是:{0}", perimeter);
        Console.WriteLine("该菱形的面积是:{0}", area);
        Console.WriteLine();

        //正方形
        Point    point18  = new Point(2, 6);
        Point    point19  = new Point(6, 6);
        Line     line21   = new Line(point8, point19);
        Line     line22   = new Line(point19, point16);
        Line     line23   = new Line(point16, point18);
        Line     line24   = new Line(point18, point8);
        Quadrate quadrate = new Quadrate(line21, line22, line23, line24);

        Console.WriteLine(quadrate.ToString());
        perimeter = quadrate.Perimeter();
        area      = quadrate.Area();
        Console.WriteLine("该正方形的周长是:{0}", perimeter);
        Console.WriteLine("该正方形的面积是:{0}", area);
        Console.WriteLine();
    }
 public QuadrateCreator(double side)
 {
     quadrate = new Quadrate(side);
 }
예제 #5
0
파일: TestMain.cs 프로젝트: zoe963/C-sharp
    public static void Main(string[] args)
    {
        Circle circle = new Circle(37, 43, 2.5);

        Console.WriteLine("该圆的" + circle.ToString());
        circle.X = 20;
        circle.Y = 20;

        Console.WriteLine("该圆的" + circle.ToString());
        Console.WriteLine("-------------------------------------------------");

        Cylinder cylinder = new Cylinder(32, 34, 4.5, 8);

        Console.WriteLine(cylinder.ToString());
        Console.WriteLine("该圆柱体的底面积是:" + cylinder.Area());
        Console.WriteLine("该圆柱体的体积是:" + cylinder.Volume());
        Console.WriteLine("-------------------------------------------------");

        Point    p1       = new Point(3, 5);
        Point    p2       = new Point(7, 5);
        Point    p3       = new Point(5, 0);
        Triangle triangle = new Triangle(p1, p2, p3);

        Console.WriteLine(triangle.ToString());
        Console.WriteLine("该三角形的周长是:" + triangle.Perimeter());
        Console.WriteLine("该三角形的面积是:" + triangle.Area());
        Console.WriteLine("-------------------------------------------------");

        Point         p4            = new Point(1, 0);
        Quadrilateral quadrilateral = new Quadrilateral(p4, p1, p2, p3);

        Console.WriteLine("该四边形的" + quadrilateral.ToString());
        Console.WriteLine("该四边形的周长是:" + quadrilateral.Perimeter());
        Console.WriteLine("该四边形的面积是:" + quadrilateral.Area());
        Console.WriteLine("-------------------------------------------------");

        Point      p5         = new Point(9, 0);
        Trapaezoid trapaezoid = new Trapaezoid(p4, p1, p2, p5);

        Console.WriteLine("该梯形的" + trapaezoid.ToString());
        Console.WriteLine("该梯形的周长是:" + trapaezoid.Perimeter());
        Console.WriteLine("该梯形的高是:" + trapaezoid.GetHeight());
        Console.WriteLine("该梯形的面积是:" + trapaezoid.Area());
        Console.WriteLine("-------------------------------------------------");

        Parallelogram parallelogram = new Parallelogram(p3, p1, p2, p5);

        Console.WriteLine("该平行四边形的" + parallelogram.ToString());
        Console.WriteLine("该平行四边形的周长是:" + parallelogram.Perimeter());
        Console.WriteLine("该平行四边形的高是:" + parallelogram.GetHeight());
        Console.WriteLine("该平行四边形的面积是:" + parallelogram.Area());
        Console.WriteLine("-------------------------------------------------");

        Point   p6      = new Point(5, 10);
        Rhombus rhombus = new Rhombus(p1, p6, p2, p3);

        Console.WriteLine("该菱形的" + rhombus.ToString());
        Console.WriteLine("该菱形的周长是:" + rhombus.Perimeter());
        Console.WriteLine("该菱形的面积是:" + rhombus.Area());
        Console.WriteLine("-------------------------------------------------");

        Point    p7       = new Point(3, 10);
        Point    p8       = new Point(7, 10);
        Quadrate quadrate = new Quadrate(p1, p7, p8, p2);

        Console.WriteLine("该正方形的" + quadrate.ToString());
        Console.WriteLine("该正方形的周长是:" + quadrate.Perimeter());
        Console.WriteLine("该正方形的面积是:" + quadrate.Area());
        Console.WriteLine("-------------------------------------------------");

        Point     p9        = new Point(3, 0);
        Point     p10       = new Point(7, 0);
        Rectangle rectangle = new Rectangle(p9, p7, p8, p10);

        Console.WriteLine("该长方形的" + rectangle.ToString());
        Console.WriteLine("该长方形的周长是:" + rectangle.Perimeter());
        Console.WriteLine("该长方形的面积是:" + rectangle.Area());
        Console.WriteLine("-------------------------------------------------");

        Console.ReadLine();
    }
예제 #6
0
        /// <summary>
        /// Обработчки клика кнопки изменения фигуры
        /// </summary>
        /// <param name="sender">Ссылка на объект-отправитель</param>
        /// <param name="e">Параметры события</param>
        private void EditShapeButton_Click(object sender, EventArgs e)
        {
            switch (addShapePropertiesObjectControl.FigureTypeComboBoxSelectedIndex)
            {
            case -1:
                ShowAlert("Выберите фигуру!");
                break;

            case 0:
                if (ParametrsTextBoxValidate("triangle"))
                {
                    int parATextBoxValue;
                    int.TryParse(addShapePropertiesObjectControl.ParATextBoxText, out parATextBoxValue);

                    int parBTextBoxValue;
                    int.TryParse(addShapePropertiesObjectControl.ParBTextBoxText, out parBTextBoxValue);

                    int parCTextBoxValue;
                    int.TryParse(addShapePropertiesObjectControl.ParCTextBoxText, out parCTextBoxValue);

                    if (!(parATextBoxValue >= (parBTextBoxValue + parCTextBoxValue)) &&
                        !(parBTextBoxValue >= (parATextBoxValue + parCTextBoxValue)) &&
                        !(parCTextBoxValue >= (parBTextBoxValue + parATextBoxValue)))
                    {
                        Data[_selectedShapeIndex] = new Triangle(parATextBoxValue, parBTextBoxValue, parCTextBoxValue);
                    }
                    else
                    {
                        ShowAlert("Одна сторона должна быть меньше, чем сумма двух других!");
                    }
                }
                else
                {
                    ShowAlert("Параметры должны быть введены в целочисленном виде!");
                }
                break;

            case 1:
                if (ParametrsTextBoxValidate())
                {
                    int parATextBoxValue;
                    int.TryParse(addShapePropertiesObjectControl.ParATextBoxText, out parATextBoxValue);

                    int parBTextBoxValue;
                    int.TryParse(addShapePropertiesObjectControl.ParBTextBoxText, out parBTextBoxValue);

                    Data[_selectedShapeIndex] = new Quadrate(parATextBoxValue, parBTextBoxValue);
                }
                else
                {
                    ShowAlert("Параметры должны быть введены в целочисленном виде!");
                }
                break;

            case 2:
                if (ParametrsTextBoxValidate("circle"))
                {
                    int parBTextBoxValue;
                    int.TryParse(addShapePropertiesObjectControl.ParBTextBoxText, out parBTextBoxValue);

                    Data[_selectedShapeIndex] = new Circle(parBTextBoxValue);
                }
                else
                {
                    ShowAlert("Параметры должны быть введены в целочисленном виде!");
                }
                break;
            }
        }
예제 #7
0
        public void SquareTest(int sideA, int sideB)
        {
            var quadrate = new Quadrate(sideA, sideB);

            Assert.AreEqual(25, quadrate.Square);
        }