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

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

08.11.2019, 11:13. Показов 5516. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать класс Triangle, разработав следующие элементы класса: Поля: int a, b, c. Конструктор, позволяющий создать экземпляр класса с заданными длинами сторон. Создайте 3 конструктора: Первый для равностороннего треугольника. Вводится значение одной стороны. Второй для равнобедренного треугольника. Вводятся 2 значения – боковая сторона и основание. Третий для разностороннего треугольника. Вводятся все три стороны. Методы, позволяющие: вывести длины сторон треугольника на экран; рассчитать периметр треугольника; рассчитать площадь треугольника. В программе организуйте меню: 1. Равносторонний треугольник. 2. Равнобедренный треугольник. 3. Разносторонний треугольник. 4. Выход.
Помогите, пожалуйста. Нужно три конструктора, у меня получается только через один "треугольник"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
class Triangle
{
// Поля
double a, b, c;
double perimeter;

// Конструктор, позволяющий создать экземпляр класса с заданными длинами сторон.
public Triangle()
{
a = 0;
b = 0;
c = 0;
}

public Triangle(double a, double b, double c)
{
this.a = a;
this.b = b;
this.c = c;
}
// Метод для вывода длины сторон треугольника на экран
public override string ToString() => $"Длина сторон треугольника: A := {a} см, B := {b} см и C := {c} см";

// Метод для расчёта периметра треугольника
public double CalcPerimeter1()
{
return perimeter = a + b + c;

}

// Метод для расчёта площадь треугольника
public double CalcArea1()
{
double semiperimeter = perimeter / 2;
double area;
return area = Math.Sqrt(semiperimeter * (semiperimeter - a) * (semiperimeter - b) * (semiperimeter - c));

}

// Свойство, позволяющее получить-установить длины сторон треугольника (доступное для чтения и записи)
public double A
{
get { return a; }
set { a = value; }
}


public double B
{
get { return b; }
set { b = value; }
}


public double C
{
get { return c; }
set { c = value; }
}


}
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.Write("Меню\n");
Console.Write("1.Расчет периметра и площади равностороннего треугольника\n");
Console.Write("2.Расчет периметра и площади равнобедренного треугольника\n");
Console.Write("3.Расчет периметра и площади разностороннего треугольника\n");
Console.Write("4.Выход\n");
double d;
Console.Write("Введите значение пункта меню:=");
d = Convert.ToDouble(Console.ReadLine());

if (d <= 1)
{
Console.Write("Введите сторону а:=");
double a = Convert.ToDouble(Console.ReadLine());
double b=a;
double c=a;
Triangle firstTriangle = new Triangle(a,b,c);
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.WriteLine("Параметры треугольника");
Console.ResetColor();
Console.WriteLine(firstTriangle);
Console.WriteLine("Периметр равностороннего треугольника равен:="+firstTriangle.CalcPerimeter1()) ;

Console.WriteLine("Площадь равностороннего треугольника равна:="+firstTriangle.CalcArea1());
}
else
{
if (d<=2)
{
Console.Write("Введите сторону а:=");
double a = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите сторону b:=");
double b = Convert.ToDouble(Console.ReadLine());
double c=a;
Triangle firstTriangle = new Triangle(a,b,c);
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.WriteLine("Параметры треугольника");
Console.ResetColor();
Console.WriteLine(firstTriangle);
Console.WriteLine("Периметр равнобедренного треугольника равен:=" + firstTriangle.CalcPerimeter1());
Console.WriteLine("Площадь равнобедренного треугольника равна:=" + firstTriangle.CalcArea1());
}
else
{
if (d<=3)
{
Console.Write("Введите сторону а:=");
double a = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите сторону b:=");
double b = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите сторону c:=");
double c = Convert.ToDouble(Console.ReadLine());
Triangle firstTriangle = new Triangle(a,b,c);
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.WriteLine("Параметры треугольника");
Console.ResetColor();
Console.WriteLine(firstTriangle);
Console.WriteLine("Периметр разностороннего треугольника равен:=" + firstTriangle.CalcPerimeter1());
Console.WriteLine("Площадь разностороннего треугольника равна:=" + firstTriangle.CalcArea1());
}

else
{
Console.WriteLine("Для выхода нажмите Esc.");
while (true)
{
ConsoleKey k = Console.ReadKey().Key;
if (k == ConsoleKey.Escape) break;
Console.WriteLine("Нажата клавиша {0}",k);
}

}

Console.WriteLine("\nДля повтора наберите 'yes', для выхода 'no'");
string rep = Console.ReadLine();
if (rep == "yes") continue;
if (rep == "no") break;
}


}
}
}
}
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.11.2019, 11:13
Ответы с готовыми решениями:

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

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

Создать класс Triangle (треугольник)
Создать класс Triangle (треугольник), задав в нем длину двух сторон, угол между ними, методы вычисления площади и периметра. На его основе...

1
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
08.11.2019, 14:07
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public Triangle(double a)//равносторонний
{
this.a = a;
this.b = a;
this.c = a;
}
public Triangle(double a, double b)//равнобедренный
{
this.a = a;
this.b = a;
this.c = b;
}
public Triangle(double a, double b, double c)//разносторонний
{
this.a = a;
this.b = b;
this.c = c;
}
Добавлено через 3 минуты
дополнение, раз уж работаешь со свойствами, в конструкторах присваивай значения не полям, а свойствам
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.11.2019, 14:07
Помогаю со студенческими работами здесь

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

Cоздать класс Triangle, разработав заданные элементы класса
Кто может помочь написать по риале не понимаю этого да просто и не учу ибо меня другое интересует а увы это есть в программе обучения....

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

Пусть даны три числа. Если они могут быть вершинами треугольника, определите его вид (разносторонний, равнобедренный, равносторонний)
в TP. Пусть даны три числа. Если они могут быть вершинами треугольника, определите его вид (разносторонний, равнобедренный,...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru