С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
1

Описать класс, представляющий треугольник

23.12.2016, 18:28. Показов 4005. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Описать класс, представляющий треугольник. Предусмотреть методы для создания объектов, вычисления площади, периметра. Описать свойства для получения состояния объекта.
На писал как-то так. Вылетаю ошибки типа пропущена директива Using. Ни чего не понимаю
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
 
namespace ConsoleApplication6
{
    class Triangle
    {
        private readonly Point[] _points = new Point[3];
 
        #region Properties
        public Point A
        {
            get { return _points[0]; }
            set { _points[0] = value; }
        }
        public Point B
        {
            get { return _points[1]; }
            set { _points[1] = value; }
        }
        public Point C
        {
            get { return _points[2]; }
            set { _points[2] = value; }
        }
        public double AB
        {
            get { return Math.Sqrt(Math.Pow(_points[0].X - _points[1].X, 2) + Math.Pow(_points[0].Y - _points[1].Y, 2)); }
        }
 
        public double BC
        {
            get { return Math.Sqrt(Math.Pow(_points[1].X - _points[2].X, 2) + Math.Pow(_points[1].Y - _points[2].Y, 2)); }
        }
 
        public double AC
        {
            get { return Math.Sqrt(Math.Pow(_points[0].X - _points[2].X, 2) + Math.Pow(_points[0].Y - _points[2].Y, 2)); }
        }
 
        public Point Center
        {
            get
            {
                return new Point((A.X + B.X + C.X) / 3,
                                 (A.Y + B.Y + C.Y) / 3);
            }
        }
 
        public double Perimeter
        {
            get { return AB + BC + AC; }
        }
 
        public double Square
        {
            get
            {
                double p = Perimeter / 2;
                double temp = p * (p - AB) * (p - BC) * (p - AC);
                return Math.Sqrt(temp);
            }
        }
        #endregion
 
        public Triangle(Point a, Point b, Point c)
        {
            _points[0] = a;
            _points[1] = b;
            _points[2] = c;
 
 
            if (AB >= BC + AC || AC >= BC + AB || BC >= AB + AC)
            {
                throw new ArgumentException("Недопустимый размер треугольника. Точки лежат на одной прямой или длина ребра равна нулю");
            }
 
        }
 
      }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2016, 18:28
Ответы с готовыми решениями:

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

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

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

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

22
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
23.12.2016, 19:09 2
using System.Drawing; не хватает
0
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
24.12.2016, 04:34  [ТС] 3
Цитата Сообщение от valera_21 Посмотреть сообщение
using System.Drawing; не хватает

Имя типа или пространства отсутствует в пространстве имен sistem
0
11 / 11 / 3
Регистрация: 24.12.2015
Сообщений: 92
24.12.2016, 08:37 4
Цитата Сообщение от mrKrog Посмотреть сообщение
Имя типа или пространства отсутствует в пространстве имен sistem
Ты же консольное приложение создаешь, надо указать референс на System.Drawing.dll
0
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
24.12.2016, 11:33  [ТС] 5
Цитата Сообщение от frusty Посмотреть сообщение
надо указать референс
я через вижуал студио проги пишу, как там это сделать?
0
1505 / 1053 / 146
Регистрация: 01.10.2009
Сообщений: 3,538
Записей в блоге: 1
24.12.2016, 11:41 6
Цитата Сообщение от mrKrog Посмотреть сообщение
sistem
Вы так и написали?
0
11 / 11 / 3
Регистрация: 24.12.2015
Сообщений: 92
24.12.2016, 11:42 7
///
Миниатюры
Описать класс, представляющий треугольник   Описать класс, представляющий треугольник  
0
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
24.12.2016, 22:11  [ТС] 8
Цитата Сообщение от XIST Посмотреть сообщение
Вы так и написали?
нет, system

Добавлено через 4 минуты
Цитата Сообщение от frusty Посмотреть сообщение
///
директива добавилась, но теперь пишет : "Ошибка 1 Программа "c:\users\documents\visual studio 2010\Projects\ConsoleApplication39\ConsoleApplication39\obj\x86\Debug\ConsoleApp lication39.exe" не содержит статического метода "Main", подходящего для точки входа ConsoleApplication39"

Что это значит?
0
.NET senior
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
25.12.2016, 01:06 9
mrKrog, это означает, что в коде Вашего проекта отсутствует статический метод Main, который должен стать точкой входа для приложения при его запуске.
0
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
25.12.2016, 15:18  [ТС] 10
Цитата Сообщение от bax_tang Посмотреть сообщение
отсутствует статический метод Main
Извиняюсь за тупой вопрос и как сделать, чтоб он присутствовал?
0
1505 / 1053 / 146
Регистрация: 01.10.2009
Сообщений: 3,538
Записей в блоге: 1
25.12.2016, 16:42 11
Цитата Сообщение от mrKrog Посмотреть сообщение
Извиняюсь за тупой вопрос и как сделать, чтоб он присутствовал
написать через клавиатуру, Вы его удалили?
1
.NET senior
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
25.12.2016, 22:07 12
mrKrog, содержимое файла Program.cs смотрите - если там ни в одном из классов не присутствует Main, Вам придется написать его самостоятельно.
статья на MSDN Вам в помощь.
0
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
26.12.2016, 04:35  [ТС] 13
Цитата Сообщение от bax_tang Посмотреть сообщение
Вам придется написать его самостоятельно
так?? Все равно ошибки : показывает что фигурная скобка лишняя, а возле самого мэина показывает, что скобки не хватает. Сделал как показывает вижуал - прога не работает (черный экран).
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
 
namespace ConsoleApplication6
{
    class Triangle
    {
        static void Main(string[] args)
        {
    
        private readonly Point[] _points = new Point[3];
 
        #region Properties
        public Point A
        {
            get { return _points[0]; }
            set { _points[0] = value; }
        }
        public Point B
        {
            get { return _points[1]; }
            set { _points[1] = value; }
        }
        public Point C
        {
            get { return _points[2]; }
            set { _points[2] = value; }
        }
        public double AB
        {
            get { return Math.Sqrt(Math.Pow(_points[0].X - _points[1].X, 2) + Math.Pow(_points[0].Y - _points[1].Y, 2)); }
        }
 
        public double BC
        {
            get { return Math.Sqrt(Math.Pow(_points[1].X - _points[2].X, 2) + Math.Pow(_points[1].Y - _points[2].Y, 2)); }
        }
 
        public double AC
        {
            get { return Math.Sqrt(Math.Pow(_points[0].X - _points[2].X, 2) + Math.Pow(_points[0].Y - _points[2].Y, 2)); }
        }
 
        public Point Center
        {
            get
            {
                return new Point((A.X + B.X + C.X) / 3,
                                 (A.Y + B.Y + C.Y) / 3);
            }
        }
 
        public double Perimeter
        {
            get { return AB + BC + AC; }
        }
 
        public double Square
        {
            get
            {
                double p = Perimeter / 2;
                double temp = p * (p - AB) * (p - BC) * (p - AC);
                return Math.Sqrt(temp);
            }
        }
        #endregion
 
        public Triangle(Point a, Point b, Point c)
        {
            _points[0] = a;
            _points[1] = b;
            _points[2] = c;
 
 
            if (AB >= BC + AC || AC >= BC + AB || BC >= AB + AC)
            {
                throw new ArgumentException("Недопустимый размер треугольника. Точки лежат на одной прямой или длина ребра равна нулю");
            }
 
        }
 
      }
}
}
0
.NET senior
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
26.12.2016, 06:03 14
mrKrog, это потому, что:
1. класс Triangle нужно вынести изнутри метода Main (объявление классов внутри методов недопустимо)
2. внимательно перечитать статью, ссылку на которую я давал в предыдущем посте
3. в методе Main реализовать диалог с пользователем (программа сама понятия не имеет, что Вы хотите делать и с чем; Ваша задача - объяснить это ей!)
4. ...
5. PROFIT
0
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
26.12.2016, 09:09  [ТС] 15
Цитата Сообщение от bax_tang Посмотреть сообщение
PROFIT
Ну я понял что его надо написать после объявления класса, но не понял его синтаксис и где конкретно писать. Вижуал теперь пишит что нужен модификатор. Покажите как это делается, кто может.
0
1505 / 1053 / 146
Регистрация: 01.10.2009
Сообщений: 3,538
Записей в блоге: 1
26.12.2016, 09:20 16
mrKrog, да создайтье новый проект и посмотрите)
0
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
26.12.2016, 09:50  [ТС] 17
Цитата Сообщение от XIST Посмотреть сообщение
создайтье новый проект и посмотрите
если прописать мэин как он атоматически пишется в новом проекте, то вылетают ошибки , я уже это писал

Цитата Сообщение от mrKrog Посмотреть сообщение
Все равно ошибки : показывае
Добавлено через 4 минуты
Может кто-нибудь просто помочь дописать код?
0
.NET senior
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
26.12.2016, 10:27 18
Лучший ответ Сообщение было отмечено mrKrog как решение

Решение

mrKrog, нет ничего проще:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System; // подключение необходимых пространств имён
using System.Collections.Generic;
using System.Linq;
 
namespace CyberForum
{
    internal class Program
    {
        internal static void Main(string[] args)
        {
            // тут Ваш код - ввод/вывод данных,
            // использование других классов (стандартных из .NET и определённые Вами в проекте)
        }
    }
    
    /* определение других классов */
}
Добавлено через 2 минуты
Цитата Сообщение от mrKrog Посмотреть сообщение
если прописать мэин как он атоматически пишется в новом проекте, то вылетают ошибки
Вы хоть покажите, какие именно ошибки; скорее всего, проблема яйца выеденного не стоит и решается парой строчек.
1
2 / 2 / 3
Регистрация: 03.10.2016
Сообщений: 107
26.12.2016, 10:33  [ТС] 19
Цитата Сообщение от bax_tang Посмотреть сообщение
проблема яйца выеденного не стоит и решается парой строчек.
вот так как-то. Может проблема того и не стоит, но учитывая, что я тупой - не совсем понимаю что надо сделать
Миниатюры
Описать класс, представляющий треугольник   Описать класс, представляющий треугольник  
0
.NET senior
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
26.12.2016, 10:59 20
Цитата Сообщение от mrKrog Посмотреть сообщение
учитывая, что я тупой - не совсем понимаю что надо сделать
Фиговая не очень годная отмазка, если честно.

Студия Вам вполне русским языком пишет (см. второй скрин) - "требуется }". Сравните Ваш код с моим, обратите внимание на отличия.

Если так будет понятнее:

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
// подключение необходимых пространств имён
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace CyberForum
{ // <<< вот ЭТА открывающая фигурная скобка обязательна
    // точку входа - метод Main - лучше расположить в отдельном классе - поверьте, так удобнее, надёжнее
    // и в конечном итоге проще; класс можете назвать как угодно, например, Program
    // (я обычно называю этот класс EntryPoint - для внесения дополнительной конкретики)
    internal class Program
    { // <<< вот ЭТА открывающая фигурная скобка обязательна
        // вот этот метод с именем Main станет точкой входа для приложения
        internal static void Main(string[] args)
        { // <<< вот ЭТА открывающая фигурная скобка обязательна
 
            // тут Ваш код - ввод/вывод данных,
            // создание и использование экземпляров класса Triangle и других классов, которые Вам понадобятся
 
        } // <<< вот ЭТА закрывающая фигурная скобка обязательна
    } // <<< вот ЭТА закрывающая фигурная скобка обязательна
    
    /* определение класса Triangle и ВСЕХ ОСТАЛЬНЫХ классов размещается ЗДЕСЬ, ПОСЛЕ класса Program */
} // <<< вот ЭТА закрывающая фигурная скобка обязательна
2
26.12.2016, 10:59
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2016, 10:59
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru