Создание класса Triangle
Console. WriteLine («Sqaure={0}», Ob. Square ()); Public static Triangle operator —(Triangle Ob). Печатаем через метод ToString. Return new Triangle (—Ob.a, —Ob.b, —Ob.c); Public static Triangle operator ++(Triangle Ob). Public static bool operator false (Triangle t). Устанавливаем b равной 30. Public static bool operator true (Triangle t). Перегрузка оператора true. Перегрузка оператора true… Читать ещё >
Создание класса Triangle (реферат, курсовая, диплом, контрольная)
Задание № 1
triangle конструктор периметр треугольник Создать класс Triangle, разработав следующие элементы класса:
a. Поля:
· int a, b, c;
b. Конструктор, позволяющий создать экземпляр класса с заданными длинами сторон.
c. Методы, позволяющие:
- · вывести длины сторон треугольника на экран;
- · расчитать периметр треугольника;
- · расчитать площадь треугольника.
d. Свойства:
- · позволяющее получить-установить длины сторон треугольника (доступное для чтения и записи);
- · позволяющее установить, существует ли треугольник с данными длинами сторон (доступное только для чтения).
Program.cs.
using System;
using System.Collections.Generic;
using System. Linq;
using System. Text;
namespace kontr1.
{.
class Program.
{.
static void Main (string[] args).
{.
//Защищенный блок.
try.
{.
//Создание объекта.
Triangle Ob = new Triangle (3, 3, 3);
//Проверка на существование треугольника.
//если существует — напечатаем стороны.
//дабы не оставлять пустой оператор ;
if (Ob).
Ob.PrintSides ();
//Иначе — кидаем исключение.
else.
throw new Exception («There is no triangle with such sides»);
//Печатаем периметр
Console.WriteLine («Perimetr={0}», Ob. Perimetr ());
//Печатаем площадь.
Console.WriteLine («Sqaure={0}», Ob. Square ());
//Инкрементируем стороны нашего треугольника.
Ob++;
//Печатаем для проверки.
Ob.PrintSides ();
//Декрементируем.
—Ob;
//печатаем.
Ob.PrintSides ();
//Умножаем каждую сторону на 5.
Ob *= 5;
Ob.PrintSides ();
//Печатаем через метод ToString.
Console.WriteLine (Ob);
//Проверяем индексатор. Печатаем a.
Console.WriteLine (Ob[1]);
//Устанавливаем b равной 30.
Ob[2] = 30;
Console.WriteLine (Ob);
}.
//Ловим исключение.
catch (Exception e).
{.
//Пишем сообщение, хранящееся в исключении.
Console.WriteLine (e.Message);
}.
//Блок выполняющийся в любом случае.
finally.
{.
// консоль не закрывалась до нажатия на кнопку.
Console.ReadKey ();
}.
}.
}.
}.
Triangle.cs.
using System;
using System.Collections.Generic;
using System. Linq;
using System. Text;
namespace kontr1.
{.
class Triangle.
{.
//стороны.
int a, b, c;
//Свойства а.
public int A.
{.
//Геттер
get.
{.
return a;
}.
//Сеттер
set.
{.
a = value;
}.
}.
//Свойства b.
public int B.
{.
get.
{.
return b;
}.
set.
{.
b = value;
}.
}.
//Свойства с.
public int C.
{.
get.
{.
return c;
}.
set.
{.
c = value;
}.
}.
//Свойство проверки треугольника.
public bool isTriangle.
{.
get.
{.
//Если подходит под условие существования треугольника.
//возвращаем true, иначе false.
if (a + b > c && a + c > b && b + c > a).
{.
return true;
}.
return false;
}.
}.
//конструктор с тремя параметрами.
public Triangle (int a_, int b_, int c_).
{.
//проверка на положительность сторон теугольника.
isCorrect (a_, b_, c_);
//Установка значений через сеттеры.
A=a_;
B=b_;
C = c_;
}.
//Функция печати длин сторон.
public void PrintSides ().
{.
Console.WriteLine («a is {0}, b is {1}, c is {2}», a, b, c);
}.
//Функция вычисления периметра.
public int Perimetr ().
{.
return a + b + c;
}.
//Функция вычисления площади.
public double Square ().
{.
//Площадь считаем по формуле Геррона.
return Math. Sqrt (halfper (this) * (halfper (this) — a) * (halfper (this) — b).
* (halfper (this) — c));
}.
//Подсчет полупериметра треугольника.
static double halfper (Triangle Ob).
{.
return Ob. Perimetr () / 2.0;
}.
//Проверка на положительность сторон.
static void isCorrect (int a, int b, int c).
{.
if (a < 0 || b < 0 || c < 0).
//Если нет — кидаем исключение.
throw new Exception («Sides of triangle can` t be negative»);
}.
//Перегрузка инкремента.
public static Triangle operator ++(Triangle Ob).
{.
//Возвращаем объект с измененными сторонами.
return new Triangle (++Ob.a, ++Ob.b, ++Ob.c);
}.
//Перегрузка декремента.
public static Triangle operator —(Triangle Ob).
{.
return new Triangle (—Ob.a, —Ob.b, —Ob.c);
}.
//Перегрузка оператора умножения (в данном случае на скаляр).
public static Triangle operator *(Triangle Ob, int mult).
{.
return new Triangle (Ob.a * mult, Ob. b * mult, Ob. c * mult);
}.
//Перевод в строку.
public override string ToString ().
{.
//Печатаем стороны через геттеры.
return «Sides: «+ «a is «+ A + «b is «+ B + «c is «+ C;
}.
//Индексатор. idx — индекс.
public int this[int idx].
{.
//Если idx=1 возвращаем a.
//если idx=2 возвращаем b.
//если idx=3 возвращем c.
//иначе кидаем исключение.
get.
{.
if (idx == 1).
return a;
else if (idx == 2).
return b;
else if (idx == 3).
return c;
else.
throw new Exception («idx can be only 1, 2 and 3»);
}.
//Если idx=1 устанавливаем a.
//если idx=2 устанавливаем b.
//если idx=3 устанавливаем c.
//иначе кидаем исключение.
set.
{.
if (idx == 1).
a = value;
else if (idx == 2).
b = value;
else if (idx == 3).
c = value;
else.
throw new Exception («idx can be only 1, 2 and 3»);
}.
}.
//Перегрузка оператора true.
//проверка на существование треугольника.
public static bool operator true (Triangle t).
{.
return t. isTriangle;
}.
//Перегрузка оператора true.
//проверка на существование треугольника.
public static bool operator false (Triangle t).
{.
return t. isTriangle;
}.
};
}.