Перегрузка операторов сравнения - C# (189555)
Формулировка задачи:
Нужно перегрузить операторы сравнения
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Задание_3 { class Program { class Book { string Avtor; string Nazvanie; int God; string Izdatelstvo; int Stranici; static int l=0; public Book() { Nazvanie = "Неизвестно"; Avtor = "Неизвестно"; God = 0; Izdatelstvo = "Неизвестно"; Stranici = 0; l++; } public Book(string Avt, string Naz, int G, string Izd, int Str) { this.Avtor = Avt; this.Nazvanie = Naz; this.God = G; this.Izdatelstvo = Izd; this.Stranici = Str; } public string Naz { get { return Naz; } set { Naz = value; } } public int G { get { return G; } set { G = value; } } public string Izd { get { return Izd; } set { Izd = value; } } public string Avt { get { return Avt; } set { Avt = value; } } public int Str { get { return Str; } set { Str = value; } } public void Show() { Console.WriteLine("_____________________________"); Console.WriteLine("Книга:" + Nazvanie); Console.WriteLine("Автор:" + Avtor); Console.WriteLine("Год:" + God); Console.WriteLine("Издательство:" + Izdatelstvo); Console.WriteLine("Количество страниц:" + Stranici); Console.WriteLine("_____________________________"); } static void Poisk(Book[] Kniga) { bool s = false; Console.Write("Введите автора для поиска книг: "); string h = Console.ReadLine(); for (int i = 0; i < Kniga.Length; i++) { if (Kniga[i].Avtor == h) { Kniga[i].Show(); s = true; } } if (!s) Console.WriteLine("Книг этого автора в списке нет!!!"); } public static Book operator --(Book minus) { minus.God--; minus.Stranici--; return minus; } public static Book operator +(Book plus1, Book plus2) { Book result = new Book(); result.Stranici = plus1.Stranici + plus2.Stranici; result.God = plus1.God + plus2.God; return result; } public static bool operator >=(Book k1, Book k2) { if (k1.God >= k2.God) return true; else return false; } public static bool operator <=(Book w1, Book w2) { if (w1.Stranici <= w2.Stranici) return true; else return false; } public int Getl() { return l; } static void Main(string[] args) { Book[] Kniga = new Book[10]; Kniga[0] = new Book { Nazvanie = "Отцы и дети", Avtor = "Тургенев", God = 1862, Izdatelstvo = "Звезда", Stranici = 358 }; Kniga[1] = new Book { Nazvanie = "Анна Каренина", Avtor = "Толстой", God = 1877, Izdatelstvo = "Азбука", Stranici = 678 }; Kniga[2] = new Book { Nazvanie = "Война и мир", Avtor = "Толстой", God = 1869, Izdatelstvo = "Буква", Stranici = 984 }; Kniga[3] = new Book { Nazvanie = "Преступление и наказание", Avtor = "Достоевский", God = 1866, Izdatelstvo = "Звезда", Stranici = 438 }; Kniga[4] = new Book { Nazvanie = "Идиот", Avtor = "Достоевский", God = 1869, Izdatelstvo = "Азбука", Stranici = 364 }; Kniga[5] = new Book { Nazvanie = "Бесы", Avtor = "Достоевский", God = 1872, Izdatelstvo = "Буква", Stranici = 329 }; Kniga[6] = new Book { Nazvanie = "Евгений Онегин", Avtor = "Пушкин", God = 1831, Izdatelstvo = "Книга", Stranici = 421 }; Kniga[7] = new Book { Nazvanie = "Дубровский", Avtor = "Пушкин", God = 1833, Izdatelstvo = "Азбука", Stranici = 291 }; Kniga[8] = new Book { Nazvanie = "Капитанская дочка", Avtor = "Пушкин", God = 1836, Izdatelstvo = "Буква", Stranici = 175 }; Kniga[9] = new Book { Nazvanie = "Вишневый сад", Avtor = "Чехов", God = 1821, Izdatelstvo = "Звезда", Stranici = 97 }; Poisk(Kniga); Book a = new Book(); Book b = new Book(); Book c = new Book(); Console.WriteLine(a.Getl()); Kniga[0]--; Console.WriteLine("Унарный минус (Год издания первой книги) = " + Kniga[0].God); Kniga[1]--; Console.WriteLine("Унарный минус (Количество страниц второй книги) = " + Kniga[1].Stranici); b = Kniga[1] + Kniga[2]; Console.WriteLine("b (Сложение годов издания первой и второй книг) = " + b.God); c = Kniga[3] + Kniga[5]; Console.WriteLine("c (Сложение страниц третьей и пятой книг) = " + c.Stranici); Console.ReadLine(); } } } }
Решение задачи: «Перегрузка операторов сравнения»
textual
Листинг программы
bool d = Kniga[1] >= Kniga[2]; Console.WriteLine(d);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д