Помощь в написании студенческих работ
Антистрессовый сервис

Создание класса 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).

Создание класса Triangle.

{.

return t. isTriangle;

}.

};

}.

Показать весь текст
Заполнить форму текущей работой