Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание библиотек классов 
:(
    Опции темы
karabickay
Дата 25.1.2014, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.1.2014

Репутация: нет
Всего: нет



Подключить к консольному приложению созданную библиотеку классов.
Разместить в консольном приложении код, позволяющий осуществить тестирование класса из созданной библиотеки классов
Как сделать? Код я написала.

using System;
 
class program
{
    static void Main()
    {
        Triangle tr1 = new Triangle(new Point(0, 0), new Point(0, 3), new Point(3, 0)),
            tr2 = new Triangle(new Point(0, 0), new Point(0, 3), new Point(10, 1));
        Console.WriteLine("Треугольник 1: {0}, P = {1}, S = {2}, Прямоугольный = {3}", tr1, tr1.P(), tr1.S(), tr1.IsRightAngled());
        Console.WriteLine("Треугольник 2: {0}, P = {1}, S = {2}, Прямоугольный = {3}", tr2, tr2.P(), tr2.S(), tr2.IsRightAngled());
        switch (tr1.CompareTo(tr2))
        {
            case 1: Console.WriteLine("Треугольник 1 больше"); break;
            case -1: Console.WriteLine("Треугольник 2 больше"); break;
            case 0: Console.WriteLine("Треугольники равны"); break;
        }
        Console.WriteLine("Типы треугольников {0}", tr1.Equals(tr2) ? "совпадают" : "различны");
        Console.Read();
    }
 
    struct Point : IEquatable<Point>
    {
        int x, y;
        public int X { get { return x; } }
        public int Y { get { return y; } }
 
        public Point(int x, int y)
        {
            this.x = x;
            this.y = y;
        }
 
        public bool Equals(Point other)
        {
            return this.x == other.x && this.y == other.y;
        }
 
        public static double Length(Point a, Point b)
        {
            return Math.Sqrt(Math.Pow(b.x - a.x, 2) + Math.Pow(b.y - a.y, 2));
        }
 
        public override string ToString()
        {
            return string.Format("(x:{0}, y:{1})", this.x, this.y);
        }
    }
 
 
    class Triangle : IComparable<Triangle>, IEquatable<Triangle>
    {
        Point A, B, C;
 
        public Triangle(Point a, Point b, Point c)
        {
            if (a.Equals(b) || a.Equals© || b.Equals©)
                throw new ArgumentException("Это не треугольник");
            this.A = a;
            this.B = b;
            this.C = c;
        }
 
        public Triangle(Triangle triangle) : this(triangle.A, triangle.B, triangle.C)
        {
        }
 
        public double S()
        {
            return 0.5 * Math.Abs(((A.X - C.X) * (B.Y - C.Y) - (B.X - C.X) * (A.Y - C.Y)));
        }
 
        public double P()
        {
            return Point.Length(this.A, this.B) + Point.Length(this.A, this.C) + Point.Length(this.B, this.C);
        }
 
        public bool IsRightAngled()
        {
            return (this.B.X - this.A.X) * (this.C.X - this.A.X) + (this.B.Y - this.A.Y) * (this.C.Y - this.A.Y) == 0 ||
                (this.A.X - this.B.X) * (this.C.X - this.B.X) + (this.A.Y - this.B.Y) * (this.C.Y - this.B.Y) == 0 ||
                (this.B.X - this.C.X) * (this.A.X - this.C.X) + (this.B.Y - this.C.Y) * (this.A.Y - this.C.Y) == 0;
        }
 
        public int CompareTo(Triangle other)
        {
            return this.S().CompareTo(other.S());
        }
 
        public bool Equals(Triangle other)
        {
            return this.IsRightAngled() == other.IsRightAngled();
        }
 
        public override string ToString()
        {
            return string.Format("A:{0}, B:{1}, C:{2}", this.A, this.B, this.C);
        }
    }
} 
PM MAIL   Вверх
jonie
Дата 25.1.2014, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Давай еще пару дублей создадим?) Никто за Вас ничего делать не будет.
оригинальная тема


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.