example1
1

Создание собственной библиотеки классов

17.03.2014, 17:41. Показов 1762. Ответов 1
Метки нет (Все метки)

Создать собственную библиотеку, включив в нее разработанный класс (по индивидуальному заданию).
Каждый разрабатываемый класс должен содержать:
o скрытые данные
o перегрузку конструкторов
o свойства класса
o индексаторы (где требуется)
В основной программе подключить разработанную библиотеку, создать экземпляр класса, вызвать методы класса.
Класс “Дробь”. Поля – числитель, знаменатель, имя. Перегрузить операции =,+,++
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2014, 17:41
Ответы с готовыми решениями:

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

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

Создание dll библиотеки в C#. Вызов классов этой библиотеки
мне нужно как то создать динамическую библиотеку класов в си шарп, основой этой библиотеки должен...

Создание собственной обобщенной коллекции, аналогичной List<T>
У меня такой вопрос, можно ли создать свою собственну обобщенную коллекцию (я не оч хорошо владею...

1
154 / 146 / 73
Регистрация: 03.03.2014
Сообщений: 368
17.03.2014, 20:06 2
Лучший ответ Сообщение было отмечено как решение

Решение

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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
using System;
 
namespace FractionLibrary
{
    public class Fraction
    {
        private int _numerator;
        private int _demoninator;
        private string _name;
 
        public int Numerator
        {
            get { return _numerator; }
            set { _numerator = value; }
        }
 
        public int Demoninator
        {
            get { return _demoninator; }
            set { _demoninator = value; }
        }
 
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
 
        public Fraction()
        {
            Numerator = 1;
            Demoninator = 1;
            Name = "Default Fraction";
        }
 
        public Fraction(int _num, int _dem)
        {
            Numerator = _num;
            Demoninator = _dem;
            Name = "Custom Fraction";
        }
 
        public Fraction(int _num)
        {
            Numerator = _num;
            Demoninator = _num;
            Name = "Custom Fraction";
        }
 
        public Fraction(int _num, int _dem, string _name)
        {
            Numerator = _num;
            Demoninator = _dem;
            Name = _name;
        }
 
        public override string ToString()
        {
            return String.Format("Дробь:{0} {1}/{2}", Name, Numerator, Demoninator);
        }
 
        private int findGreatestCommonDivisor(int a, int b)
        {
            while (b != 0)
            {
                int temp = b;
                b = a % b;
                a = temp;
            }
            return a;
        }
 
        public void ReduceFraction()
        {
            int d = findGreatestCommonDivisor(Numerator, Demoninator);
            Numerator = Numerator/d;
            Demoninator = Demoninator/d;
        }
 
        public double ToDecimalValue()
        {
            return Convert.ToDouble(Numerator)/Convert.ToDouble(Demoninator);
        }
 
        public static Fraction operator +(Fraction fr, int i)
        {
            return new Fraction(){Numerator = fr.Numerator+i*fr.Demoninator, Demoninator = fr.Demoninator, Name = fr.Name};
        }
 
        public static Fraction operator +(Fraction fr1, Fraction fr2)
        {
            return new Fraction()
                {
                    Name = String.Format("{0} + {1}",fr1.Name, fr2.Name),
                    Numerator = fr1.Numerator*fr2.Demoninator +fr2.Numerator*fr1.Demoninator,
                    Demoninator = fr1.Demoninator*fr2.Demoninator
                };
        }
 
        public static Fraction operator ++(Fraction fr)
        {
            return new Fraction() { Numerator = fr.Numerator + fr.Demoninator, Demoninator = fr.Demoninator, Name = fr.Name };
        }
 
        public static bool operator ==(Fraction fr1, Fraction fr2)
        {
            Fraction tempFr1 = fr1;
            Fraction tempFr2 = fr2;
            tempFr1.ReduceFraction();
            tempFr2.ReduceFraction();
 
            if (tempFr1.Numerator==tempFr2.Numerator && tempFr1.Demoninator==tempFr2.Demoninator)
            {
                return true;
            }
            return false;
        }
 
        public static bool operator !=(Fraction fr1, Fraction fr2)
        {
            return !(fr1 == fr2);
        }
    }
}
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
using System;
using FractionLibrary;
 
namespace ConsoleTest
{
    class Program
    {
        static void Main(string[] args)
        {
            // Constructors 
            Fraction fr1 = new Fraction();
            Console.WriteLine(fr1.ToString());
 
            Fraction fr2 = new Fraction(3);
            Console.WriteLine(fr2.ToString());
 
            Fraction fr3 = new Fraction(1,3);
            Console.WriteLine(fr3.ToString());
 
            Fraction fr4 = new Fraction(3,3,"MyFraction");
            Console.WriteLine(fr4.ToString());
            //*************************************
 
            //Methods
            fr1.Numerator = 4;
            fr1.Demoninator = 8;
            fr1.ReduceFraction();
            Console.WriteLine(fr1.ToString());
            Console.WriteLine(fr1.ToDecimalValue());
            //***************************************
 
            //Operators
            Fraction fr5 = fr1 + 2;
            Console.WriteLine(fr5.ToString());
 
            fr5++;
            Console.WriteLine(fr5.ToString());
 
            fr5 = fr5 + fr3;
            Console.WriteLine(fr5.ToString());
 
            Console.WriteLine(fr2==fr4);
            Console.WriteLine(fr5==fr1);
            Console.ReadLine();
        }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2014, 20:06

Создание собственной коллекции (IEnumerable & IEnumerator)
Добрый день, возник вопрос по примеру кода из урока: Создаем коллекцию UserCollection, которая...

Использование библиотеки классов
я создал проект class library3 откомпилировал в dll потом создал другой проект. project-&gt;add...

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

Подключение библиотеки классов
Есть библиотека небольшая using System; using System.Collections.Generic; using...


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

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

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