Проверьте с соответствием задания - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы