Проверьте с соответствием задания - C#
Формулировка задачи:
Вот есть программа, вроде бы работает
Хочу что бы проверили по требованию с заданием. Возможно что то не учтено, боюсь пока нести преподу. С шарпом пока еще не на "ты" .
using Kontrolnaya; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Kontrolnaya { class CBookCard { private static int MAXRAITING = 100; private string autor; private string tittle; private string publish; private int year; private int pages; private string isbn; private int raiting; private string comment; public CBookCard(string autor, string tittle, string publish, int year, int pages, string isbn, int raiting, string comment) { Autor = autor; Tittle = tittle; Publish = publish; Year = year; Pages = pages; ISBN = isbn; Raiting = raiting < 0 ? 0 : (raiting > MAXRAITING ? MAXRAITING : raiting); Comment = comment; } public string Autor { get { return autor; } set { autor = value; } } public string Tittle { get { return tittle; } set { tittle = value; } } public string Publish { get { return publish; } set { publish = value; } } public int Year { get { return year; } set { year = value; } } public int Pages { get { return pages; } set { pages = value; } } public string ISBN { get { return isbn; } set { isbn = value; } } public int Raiting { get { return raiting; } set { raiting = value < 0 ? 0 : (value > MAXRAITING ? MAXRAITING : value); } } public string Comment { get { return comment; } set { comment = value; } } public override string ToString() { return Autor + ", " + Tittle + ": " + Publish + ", " + Year + " г., " + Pages + ", ISBN: " + ISBN + ", Комментарий:" + Comment + " ." + "\n"; } } } class Program { static void Main(string[] args) { var bookArr = new CBookCard[] { new CBookCard("Джон Скит", "C# для профессионалов", "Вильямс", 2017, 608, "978-5-8459-1909-0", 78, ""), new CBookCard("Роберт Лафоре", "Структуры данных и алгоритмы в Java", "Питер", 2016, 704, "978-5-496-00740-5", 42, ""), new CBookCard("Никита Культин", "Microsoft Visual C# в задачах и примерах", "БХВ-Петербург", 2015, 320, "978-5-9775-3323-2", 87, ""), new CBookCard("Павел Агуров", "C#. Сборник рецептов", "БХВ-Петербург", 2007, 432, "5-94157-969-1", 74, ""), new CBookCard("Джон Шарп", "Microsoft Visual C#. Подробное руководство", "Питер", 2017, 848, "978-5-496-02372-6", 95, "") }; Console.WriteLine("Массив книг до сортировки: "); foreach (var item in bookArr) { Console.WriteLine(item.ToString()); } bookArr = bookArr.OrderBy(b => b.Pages).ToArray(); Console.WriteLine("\nМассив книг после сортировки: "); foreach (var item in bookArr) { Console.WriteLine(item.ToString()); } Console.ReadKey(true); } }
Создать класс библиографических описаний книг CBookCard. Класс должен содержать поля согласно таблицам 1 – 3, в соответствии с номером варианта.
1. Все поля должны быть закрытыми. Для всех их должны быть созданы методы доступа (или свойства).
2. В конструкторе за исключением рейтинга и комментария должна осуществляться инициализация всех полей.
3. Для всех вариантов необходимо создать метод, выводящий описание книги в строку (переопределение метода ToString()), в которой будут присутствовать все значения полей класса, кроме поля – «комментария». В данном методе значения полей ISBN, УДК, ББК выводятся через пробел без использования знаков препинания. Значения атрибутов рейтинг и тираж должны выводиться в следующей форме: Тираж: <значение тиража>. Рейтинг: <значение рейтинга>.
4. Создать два объекта библиографических описаний книг. Вызвать для них метод, осуществляющий вывод строки библиографического описания. Можно использовать как реально существующие книги, так и чисто гипотетические.
5. Создать массив (размерностью не более 5) объектов библиографических описаний книг. Создать статический метод для упорядочивания (по числу страниц) данного массива. Вывести на экран значения массива до сортировки и после сортировки.
Автор +
Заглавие +
Издательство +
Год издания +
Число страниц +
ISBN +
УДК
ББК
Тираж
Рейтинг. Изменяется в пределах от 0 до указанного в таблице значения (в методе доступа, устанавливающем значение данного атрибута, обеспечить проверку удовлетворения введенного значения данному требованию) 100
Комментарий +
Решение задачи: «Проверьте с соответствием задания»
textual
Листинг программы
namespace Kontrolnaya { class CBookCard { public CBookCard(string autor, string title, string publish, int year, int pages, string isbn) { Autor = autor; Title = title; Publish = publish; Year = year; Pages = pages; ISBN = isbn; } private string _autor; private string _title; private string _publish; private int _year; private int _pages; private string _isbn; private int _raiting; private string _comment; public string Autor { get { return _autor; } set { _autor = value; } } public string Title { get { return _title; } set { _title = value; } } public string Publish { get { return _publish; } set { _publish = value; } } public int Year { get { return _year; } set { _year = value; } } public int Pages { get { return _pages; } set { _pages = value; } } public string ISBN { get { return _isbn; } set { _isbn = value; } } public int Raiting { get { return _raiting; } set { _raiting = value >= 0 && value <= 100 ? value : 0; } //если рейтинг не в нужном диапазоне, то он равен 0 } public string Comment { get { return _comment; } set { _comment = value; } } public override string ToString() { return $"{Autor}, {Title}: {Publish}, {Year} г.,{Pages} стр., Рейтинг:{Raiting} {ISBN}"; } } class Program { static void Main(string[] args) { var firstBook = new CBookCard("Джон Скит", "C# для профессионалов", "Вильямс", 2017, 608, "978-5-8459-1909-0"); var secondBook = new CBookCard("Роберт Лафоре", "Структуры данных и алгоритмы в Java", "Питер", 2016, 704, "978-5-496-00740-5"); Console.WriteLine(firstBook); Console.WriteLine(secondBook); var bookArr = new[] { new CBookCard("Джон Скит", "C# для профессионалов", "Вильямс", 2017, 608, "978-5-8459-1909-0") { Pages = 45, Comment = "Amazing" }, new CBookCard("Роберт Лафоре", "Структуры данных и алгоритмы в Java", "Питер", 2016, 704, "978-5-496-00740-5") { Pages = 98, Raiting = 55 }, new CBookCard("Никита Культин", "Microsoft Visual C# в задачах и примерах", "БХВ-Петербург", 2015, 320, "978-5-9775-3323-2") { Pages = 355, Raiting = -42 }, new CBookCard("Павел Агуров", "C#. Сборник рецептов", "БХВ-Петербург", 2007, 432, "5-94157-969-1") { Pages = 174 }, new CBookCard("Джон Шарп", "Microsoft Visual C#. Подробное руководство", "Питер", 2017, 848, "978-5-496-02372-6") { Pages = 432 } }; Console.WriteLine("Массив книг до сортировки: "); foreach (var item in bookArr) { Console.WriteLine(item); } bookArr = Sort(bookArr); Console.WriteLine("Массив книг после сортировки: "); foreach (var item in bookArr) { Console.WriteLine(item); } Console.ReadKey(); } static CBookCard[] Sort(CBookCard[] bookArr) { return bookArr.OrderByDescending(b => b.Pages).ToArray(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д