Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/75: Рейтинг темы: голосов - 75, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22
1

Создать класс Triangle для представления треугольника

13.04.2012, 20:27. Просмотров 14607. Ответов 10
Метки нет (Все метки)

Уважаемые участники форума,напишите пожалуйста код следующей программы на Visual Studio 2010:

Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции: получения и изменения полей данных, вычисления площади, вычисления периметра, вычисления высот, а также определения вида треугольника (равносторонний, равнобедренный или прямоугольный).

Задача требует срочного решения,поскольку срок её сдачи на проверку очень короткий.
Заранее спасибо)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2012, 20:27
Ответы с готовыми решениями:

Создать класс Triangle для представления треугольника
Доброго времени суток! Нужна помощь по C# Не понимаю как реализовать... Создать класс Triangle...

Класс Triangle для представления треугольника. Поля должны включать углы и стороны
Создайте класс с закрытыми полями, где операции реализуются как методы класса. Класс Triangle для...

Класс Triangle, добавить возможность изменения одной из сторон треугольника
Есть класс треугольник. Как добавить возможность изменения одной из сторон треугольника? Условие...

Создать класс Triangle
Создать класс Triangle, разработав следующие элементы класса: Поля: int a, b, c; // стороны...

10
Заблокирован
13.04.2012, 22:07 2
Цитата Сообщение от Tador Посмотреть сообщение
Поля данных должны включать углы и стороны.
Поля данных должны включать лишь координаты вершин - три значения типа Point.
Если сделать как вы говорите: "углы и стороны" - это все вычисляемо из предыдущего класса.
Если базироваться на вашем классе - здесь без ошибок ввода юзером неправильных значений не обойтись.
Ну, и методы класса(высоты и т.д.) должны тоже вычисляться от координат вершин.

Более конкретно поставьте задачу(может я и не понял чего)
0
78 / 78 / 12
Регистрация: 07.01.2012
Сообщений: 167
13.04.2012, 22:37 3
Описать класс "Треугольник"

Добавлено через 9 минут
по 2-м углам сумма которых <180 градусов можно создать бесконечное множество треугольников, т.е. нужны еще координаты 2-х вершин для привязки к координатам и определения размеров, по трем сторонам тоже нужны хотя-бы две соответствующие вершины, поэтому три неравные вершины -оптимальное, необходимое и достаточное условие.
0
Dzhej-Dzhej
13.04.2012, 23:03
  #4

Не по теме:

Цитата Сообщение от Talent Посмотреть сообщение
поэтому три неравные вершины -оптимальное, необходимое и достаточное условие.
Можно еще доказательство этого?

"Оптимальное" - не из этой темы, по всей видимости.

0
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22
14.04.2012, 16:57  [ТС] 5
В методических указаниях было дано именно такое условие(ввод углов и сторон и реализация операций)
Описать класс "Треугольник"-там слишком сложный код,мне нужен более банальнее.
Нужен код C# хотя бы как то подходящий под данное условие (не обязательно строгое соблюдение) Буду благодарен,если кто нибудь выложит здесь таковой)
0
Миниатюры
Создать класс Triangle для представления треугольника  
Master of Orion
Эксперт .NET
6074 / 4930 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
14.04.2012, 18:24 6
Tador, как-бы из школьной геометрии ясно, что существует три способа однозначно задать треугольник...
0
Заблокирован
14.04.2012, 18:38 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
        class Triangle
        {
            double AB;
            double AC;
            double BC;
            double A;
            double B;
            double C;
            double perim()
            {
                return AB + AC + BC;
            }
            double Area()
            {
                double p=(AB+AC+BC)/2.0;
                return Math.Sqrt(p * (p - AB) * (p - AC) * (p - BC));
            }
            string GetType()
            {
                if (AB == BC && AB == AC) return "равносторонний";
                if (AB == BC || AB == AC || BC == AC) return "равнобедренный";
                return "треугольник, как треугольник";
            }
        }
Хотя это бред препода так классы делать.

За точность не ручаюсь.
1
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22
16.04.2012, 20:00  [ТС] 8
А как реализовать изменение полей данных и их ввод?
Чтобы сначала вводились данные,а по том на основании введенных данных осуществлялись вычисления и выводились ответы
0
Заблокирован
22.04.2012, 13:55 9
Через Console.ReadLine() и Console.WriteLine().
0
24 / 23 / 3
Регистрация: 21.04.2012
Сообщений: 252
22.04.2012, 16:16 10
Парень, спасибо за интересное задание!)
Надеюсь, что моя работа тебе поможет, хотя профессионал напишет лучше )
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Triangle 
    {
        
        public static void Main()
        {
            
            Console.WriteLine("Введите стороны и углы треугольника:");
            input();
            Console.WriteLine("Выберете операцию:");
            Console.WriteLine("1. Периметр треугольника");
            Console.WriteLine("2. Площадь треугольника");
            Console.WriteLine("3. Вычисление высоты треугольника");
            Console.WriteLine("4. Вид треугольника");
            Console.WriteLine("5. Описание треугольника");
            int num = Convert.ToInt32(Console.ReadLine());
            double output = 0;
            double pp = (arr[0] + arr[1] + arr[2])/2;
            Console.Clear();
            switch (num)
            {
                case 1:
                    Console.WriteLine("Периметр : {0}см", arr[0] + arr[1] + arr[2]);
                    break;
                case 2:
                    Console.WriteLine("Площадь : {0}см", Math.Sqrt(pp * (pp - arr[0]) * (pp - arr[1]) * (pp - arr[2])));
                    break;
                case 3:
                    for (int i = 0; i < 3; i++)
                    {
                        output = 2 * (Math.Sqrt(pp * (pp - arr[0]) * (pp - arr[1]) * (pp - arr[2]))) / arr[i];
                        Console.WriteLine("Высота опущенна на сторону №{0} равняется {1}см",i+1,output);
                    }                    
                    break;
                case 4:
                    type();
                    break;
                case 5:
                    Console.WriteLine("Полное описание треугольника:");
                    Console.WriteLine("Периметр : {0}см", arr[0] + arr[1] + arr[2]);
                    Console.WriteLine("Площадь : {0}см", Math.Sqrt(pp * (pp - arr[0]) * (pp - arr[1]) * (pp - arr[2])));
                    for (int i = 0; i < 3; i++)
                    {
                        output = 2 * (Math.Sqrt(pp * (pp - arr[0]) * (pp - arr[1]) * (pp - arr[2]))) / arr[i];
                        Console.WriteLine("Высота опущенна на сторону №{0} равняется {1}см", i + 1, output);
                    }
                    type();
                    break;
            }
            
            Console.ReadLine();
        }
        public static void type()
        {
            int[] a = new int[6];
            for (int i = 0; i < 6; i++)
            {
                a[i] = Convert.ToInt32(arr[i]);
            }
            if (a[0] == a[1] && a[1] == a[2])
            {
                Console.WriteLine("Треугольник равносторонний");
                return;
            }
            if (a[0] == a[1] || a[1] == a[2] || a[2] == a[0])
            {
                Console.WriteLine("Треугольник равноберенный");
            }
            if (a[0] != a[1] && a[1] != a[2])
            {
                Console.WriteLine("Треугольник разносторонний");
            }
        }
        public static double[] arr = new double[6];
        public static void input()
        {
            beg_input:
            for (int i = 1; i < 7; i++)
            {
                if (i < 4)
                {
                    Console.WriteLine("Введите сторону №" + i);
                    arr[i-1] = Convert.ToInt32(Console.ReadLine());
                }
                else
                {
                    Console.WriteLine("Введите угол  №" + i);
                    arr[i-1] = Convert.ToInt32(Console.ReadLine());
                }
            }
            if (arr[3] + arr[4] + arr[5] != 180)
            {
                Console.Clear();
                Console.WriteLine("Сумма углов не равна 180. Повторите ввод");
                goto beg_input;
            }
            Console.Clear();
        }  
    }
}
2
0 / 0 / 0
Регистрация: 04.06.2020
Сообщений: 1
04.06.2020, 16:53 11
Создать тип данных для представления треугольника на плоскости. Обеспечить возможность создания, копирования, смещения и изменение треугольников, получения их свойств (в т.ч. вычисление их площади и периметра). помогите, пожалуйста. задание очень похоже. я не понимаю как доработать код в последнем сообщение (С++)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2020, 16:53

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

Создать класс Triangle
добрый день. помогите пожалуйста справится с программой. Создать класс Triangle, разработав...

Создать класс Triangle
Создать класс Triangle с полями-сторонами. Определить методы изменение сторон, вычисления углов,...

Создать класс Triangle
Работаю над этим заданием: Создать класс Triangle, разработав следующие элементы класса: a. Поля:...

Создать класс Triangle
Друзья, прошу вашей помощи с заданием. Буду очень благодарен!!!! 2. Создать класс Triangle,...


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

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

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