Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
5 / 5 / 4
Регистрация: 21.12.2014
Сообщений: 113
1

Вычислить площадь и периметр прямоугольника в иерархии класса Прямоугольник.(Код есть)

21.02.2016, 19:49. Показов 1565. Ответов 2
Метки нет (Все метки)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
 
namespace ConsoleApplication15
{
    class Program
    {
        static void Main(string[] args)
        {
            Tochka t = new Tochka(new Point (2,6));
            Rectangle rect1 = new Rectangle(new Point(4, 4), new Point(5, 5), new Point(6, 6), new Point(7, 7));
            IFigure ifig;
 
            ifig = t;
            double P_tr = ifig.P();
            double S_tr = ifig.S();
 
            foreach (var pt in ifig.Coordinates)
                Console.WriteLine("X={0}, Y={1}", pt.X, pt.Y);
 
            ifig = rect1;
            double P_rect = ifig.P();
            double S_rect = ifig.S();
 
            foreach (var pt in ifig.Coordinates)
                Console.WriteLine("X={0}, Y={1}", pt.X, pt.Y);
 
            Console.WriteLine("{0}, {1}", P_tr, S_tr);
            Console.WriteLine("{0}, {1}", P_rect, P_rect);
 
            Console.Read();
 
        }
    }
    //Класс фигура
    class Figure
    {
        public int X
        {
            get;
            private set;
        }
        public int Y
        {
            get;
            private set;
        }
        public Figure(int x, int y)
        {
            X = x;
            Y = y;
        }
    }
    //Класс точка
    class Tochka : Figure, IFigure
    {
        Point p1;
        Point[] points;
 
        public Tochka(Point pt1)
            : base(pt1.X, pt1.Y)
        {
            p1 = pt1;
            points = new Point[1];
            points[0] = p1;
        }
 
        public double P()
        {
            //Тут код просчета периметра точки
            return 1;
        }
        public double S()
        {
            //Тут код просчета площади точки
            return 1;
        }
        public Point[] Coordinates
        {
            get
            {
                return points;
            }
            set
            {
                points = value;
            }
 
        }
    }
    //Класс прямоугольник
    class Rectangle : Figure, IFigure
    {
        Point p1;
        Point p2;
        Point p3;
        Point p4;
        Point[] points;
 
        public Rectangle(Point pt1, Point pt2, Point pt3, Point pt4)
            : base(pt1.X, pt1.Y)
        {
            p1 = pt1;
            p2 = pt2;
            p3 = pt3;
            p4 = pt4;
            points = new Point[4];
            points[0] = p1;
            points[1] = p2;
            points[2] = p3;
            points[3] = p4;
        }
        public double P()
        {
            //Тут код просчета периметра прямоугольника p = 2 * (a + b); а как записать?
            
            return 2;
        }
        public double S()
        {
            //Тут код просчета площади прямоугольника S = a * b как записать?
            return 2;
        }
        public Point[] Coordinates
        {
            get
            {
                return points;
            }
            set
            {
                points = value;
            }
 
        }
    }
    //Интерфейс
    interface IFigure
    {
        double P();
        double S();
        Point[] Coordinates { get; set; }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2016, 19:49
Ответы с готовыми решениями:

Создать массив объектов класса Прямоугольник, вычислить площадь и периметр. Результаты поместить в файл
Описать класс Прямоугольник с методами отображения параметров, конструкторами без параметров, с...

Вычислить площадь и периметр квадрата со стороной а,площадь и периметр прямоугольника со сторонами b и с
вычислить площадь и периметр квадрата со стороной а, площадь и периметр прямоугольника со сторонами...

Вычислить площадь и периметр прямоугольника
Даны 2 стороны прямоугольника. Вычислить площадь и периметр. Из получившихся элементов сформировать...

Вычислить площадь и периметр прямоугольника
Задание: Дана сторона прямоугольника а, b на 10 больше а. Надо вычислить площадь и периметр...

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
2
1072 / 706 / 474
Регистрация: 21.01.2014
Сообщений: 1,860
21.02.2016, 21:19 2
Цитата Сообщение от kolas1173 Посмотреть сообщение
//Тут код просчета площади точки
* * * * * * return 1;
Эта точка настолько жирная, что похожа на круг.
Цитата Сообщение от kolas1173 Посмотреть сообщение
//Класс точка
Зачем, если вы везде используете Point? Да и вообще код полный ад. Например, зачем вы в Tochka храните массив Point(точек) с координатами, ваша точка находится в нескольких местах одновременно?
Цитата Сообщение от kolas1173 Посмотреть сообщение
new Point(4, 4), new Point(5, 5), new Point(6, 6), new Point(7, 7)
Возьмите листок бумаги и нарисуйте эти точки, будет больше похоже на отрезок, чем на прямоугольник. Ну и так далее.
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System;
 
namespace ConsoleApplication15
{
    class Program
    {
        static void Main(string[] args)
        {
            Point p = new Point(2, 6);
            Rectangle rect1 = new Rectangle(p, 8, 5);
            IFigure ifig = rect1;
 
            double perRec = ifig.Perimeter();
            double squRec = ifig.Square();
 
            foreach (var pt in rect1.GetPoints())
                Console.WriteLine("X={0}, Y={1}", pt.X, pt.Y);
 
 
            Console.WriteLine("{0}, {1}", perRec, squRec);
 
            Console.Read();
 
        }
    }
    //Интерфейс фигуры, эта фигура должна иметь периметр, площадь, и находиться в определенном месте
    interface IFigure
    {
        double Perimeter(); //периметр
        double Square();    //площадь
        Point Location { get; set; }   //местоположение
    }
 
    //Класс точка, у нее нет ни периметра, ни площади, на то она и точка.
    class Point
    {
        public int X { get; set; }
        public int Y { get; set; }
        public Point(int x, int y)
        {
            this.X = x;
            this.Y = y;
        }
    }
    //Класс прямоугольник
    class Rectangle : IFigure
    {
        public Point Location { get; set; } //Положение
        public int Width { get; set; }      //Ширина
        public int Height { get; set; }     //Высота
 
        public Rectangle(Point location, int width, int height)
        {
            Width = width;
            Height = height;
            Location = location;
        }
        public double Perimeter()
        {
            return 2 * Height * Width;
        }
 
        public double Square()
        {
            return Height * Width;
        }
 
        public Point[] GetPoints()
        {
            Point[] pts = new Point[4];
            pts[0] = new Point(Location.X, Location.Y);
            pts[1] = new Point(Location.X + Width, Location.Y);
            pts[2] = new Point(Location.X + Width, Location.Y - Height);
            pts[3] = new Point(Location.X, Location.Y - Height);
            return pts;
        }
    }
}
1
5 / 5 / 4
Регистрация: 21.12.2014
Сообщений: 113
21.02.2016, 22:05  [ТС] 3
Всё отлично работает, спасибо Вам) только здесь
C#
1
return 2 * Height * Width;// вот так будет 2 * (Height + Width;) но это мелочь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2016, 22:05

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Вычислить площадь и периметр прямоугольника
Вычислить площадь ,периметр прямоугольника ,оформить расчеты как подпрограмму-процедуры .

Вычислить площадь и периметр прямоугольника
Вычислить площадь и периметр прямоугольника, если задана длина одной стороны (a) и коэффициент n...

Вычислить периметр и площадь прямоугольника
даны стороны прямоугольника A,B. Составить программу вычисления длины и площади прямоугольника

Вычислить периметр и площадь прямоугольника по известным сторонам
Создание модуля, содержащий процедуры и/или функции: - периметр и площадь прямоугольника по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.