Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 4

Свойства (дополнение готовой программы)

17.05.2013, 13:54. Показов 707. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Требуется помощь. Передо мной стоит задача добавить свойства для получения состояния объекта. Программа написана и удовлетворяет всей поставленной задаче, кроме данного пункта. Прошу подсказать решение, т.к. я просто не могу понять смысл свойств и их применение в данной задачи.
P.S. уровень восприятия C# у меня не лучший, поэтому прошу обьяснять более доходчиво

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

Код:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication4
{
 
    class Program
    {
        static void Main(string[] args)
        {
            double a = 0, b = 0, c = 0, x1 = 0, y1 = 0, x2 = 0, y2 = 0, x3 = 0, y3 = 0;
 
                try
                {
 
                    Console.WriteLine("Введите координаты первой точки в формате (Х,У):");
                    x1 = double.Parse(Console.ReadLine());
                    y1 = double.Parse(Console.ReadLine());
 
                    Console.WriteLine("Введите координаты второй точки в формате (Х,У):");
                    x2 = double.Parse(Console.ReadLine());
                    y2 = double.Parse(Console.ReadLine());
 
                    Console.WriteLine("Введите координаты третьей точки в формате (Х,У):");
                    x3 = double.Parse(Console.ReadLine());
                    y3 = double.Parse(Console.ReadLine());
                }
 
                catch
                {                   
                    throw new Exception("Ошибка ввода!");
                }
                    
                finally 
                {                    
                        Triangle T = new Triangle(a, b, c, x1, x2, x3, y1, y2, y3);
 
                        Console.WriteLine("a={0},b={1},c={2}", (T.Aside()).ToString(), (T.Bside()).ToString(), (T.Cside()).ToString());
                        Console.WriteLine("периметр={0}", (T.area()).ToString());
                        Console.WriteLine("площадь={0}", (T.square()).ToString());
                        Console.WriteLine("координаты точки пересечения медиан ({0};{1})", (T.Xpoint()).ToString(), (T.Ypoint()).ToString());
                        Console.ReadKey();
                }
        }
    }
 
    public class Triangle
    {
        double x1, x2, x3, y1, y2, y3;
        double a, b, c;
        
 
        public Triangle(double a, double b, double c, double x1, double x2, double x3, double y1, double y2, double y3)
        {
            a = Math.Sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
            b = Math.Sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2));
            c = Math.Sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3));
 
            try
            {
                if ((a + b) <= c || (a + c) <= b || (b + c) <= a)
                    throw new Exception("Заданная фигурa не является треугольником");
            }
 
            finally
            {
                this.a = a;
                this.b = b;
                this.c = c;
                this.x1 = x1;
                this.x2 = x2;
                this.x3 = x3;
                this.y1 = y1;
                this.y2 = y2;
                this.y3 = y3; 
            }
        }
        public double Aside() // a
        {
            return a;
        }
        public double Bside() // b
        {
            return b;
        }
        public double Cside() // c
        {
            return c;
        }
 
        public double area() // периметр
        {
            return a + b + c;
        }
 
        public double square() // площадь
        {
            double p = (a + b + c) / 2;
            return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
        }
 
        public double Xpoint() // координата Х точки пересечения медиан
        {
            double x0 = (x1 + x2 + x3) / 3;
            return x0;
        }
 
        public double Ypoint() // координата Y точки пересечения медиан
        {
            double y0 = (y1 + y2 + y3) / 3;
            return y0;
 
        }
 
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.05.2013, 13:54
Ответы с готовыми решениями:

Сделать компоненту из готовой программы
Можно както сделать компоненту из готовой програмки?:gwitch:

Свойства (дополнение готовой программы)
Доброго времени суток. Передо мной стоит задача добавить свойства для получения состояния объекта. Программа написана и удовлетворяет всей...

Создание windows-службы из готовой программы
Здравствуйте. подскажите пожалуйста как сделать виндовс службу. У меня есть уже готовый код программы, из которой я хочу сделать службу....

1
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
17.05.2013, 14:12
А какие состояния бывают у объекта?

Добавлено через 6 минут
Может вам надо вместо
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 double a, b, c;
................................
public double Aside() // a
        {
            return a;
        }
        public double Bside() // b
        {
            return b;
        }
        public double Cside() // c
        {
            return c;
        }
Чтото типа
C#
1
2
3
public double Aside { get; private set; }
public double Bside { get; private set; }
public double Cside { get; private set; }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.05.2013, 14:12
Помогаю со студенческими работами здесь

Создание готовой программы из готовой базы данных
Добрый день. Есть полностью готовая база данных с таблицами, формами, отчетами. Короче полностью укомплектована. Как теперь...

Можно ли вытащить текст программы из готовой программы?
Как это можно сделать? файл exe

Дополнение программы
Нужно дополнить программу так, чтобы если пользователь ввёл правильную букву, то программа отвечала бы ему, что эта буква есть в слове и...

дополнение программы
Подскажите пожалуйста, что делать!!! есть следующий кусочек программы: DО INPUT A IF A&lt;=0 THEN PRINT &quot;ОШИБКА&quot; такая...

Рекурсия и дополнение программы
Объясните где тут рекурсия и нужно дополнить программу чтобы пользователь вбивал n-ное расположение (например 15) и компьютер выводил его....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru