Есть ответ 👍

C#. Задание массивное и интересное.
Описать класс "Библиотека".

161
188
Посмотреть ответы 2

Ответы на вопрос:

Ghasty
4,6(42 оценок)

Осуществил с того что я умею, сложного не использовал ибо еще не дошел до него . Тут 2 класса идут в двух разных .cs .

Единственные нюансы: 1) не осуществил год до нашей эры, т.е если год вводится -2 (2 до н.е) выводится 2.

2) запутанность жесткая, ибо использовал goto и много переменных разных. с моими текущими знаниями я не мог использовать что то попроще, возможно оптимизируете.

1 класс:

using System;

namespace HomeLibrary

{

   class ListOfBooks

   {

       static string Author, Category, Name; static int Year;

       public static bool Indicate, SecondIndicate, ThirdIndicate;

       public static string SetAuthor

       {

           get

           {

               return Author;

           }

           set

           {

               if (string.IsNullOrWhiteSpace(value) || int.TryParse(value, out int WrongValue))

               {

                   Indicate = true;

               }

               else

               {

                   Author = value;

               }

           }

       }

       public static int SetYear

       {

           get

           {

               return Year;

           }

           set

           {

               if(value >= 0 && value <= 2022)

               {

                   Year = value;

               }

           }

       }

       public static string SetCategory

       {

           get

           {

               return Category;

           }

           set

           {

               if (string.IsNullOrWhiteSpace(value) || int.TryParse(value, out int WrongValue))

               {

                   SecondIndicate = true;

               }

               else

               {

                   Category = value;

               }

           }

       }

       public static string SetName

       {

           get

           {

               return Name;

           }

           set

           {

               if (string.IsNullOrWhiteSpace(value) || int.TryParse(value, out int WrongValue))

               {

                   ThirdIndicate = true;

               }

               else

               {

                   Name = value;

               }

           }

       }

   }

}

2 класс.

using System;

using System.Collections.Generic;

namespace HomeLibrary

{

   class Program

   {

       static void SecondMenue(int SecondChoise)

       {

           switch(SecondChoise)

           {

               case 2:

                   List<string> Books = new List<string>();

                   TryAgain4:

                   Console.WriteLine("Введите название книги.");

                   ListOfBooks.SetName = Console.ReadLine();

                   if (ListOfBooks.ThirdIndicate == true)

                   {

                       Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");

                       ListOfBooks.ThirdIndicate = false;

                       Console.ReadLine();

                       goto TryAgain4;

                   }

                   TryAgain:

                   Console.WriteLine("Введите имя/псевдоним автора.");

                   ListOfBooks.SetAuthor = Console.ReadLine();

                   if ( ListOfBooks.Indicate == true)

                   {

                       Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");

                       ListOfBooks.Indicate = false;

                       Console.ReadLine();

                       goto TryAgain;

                   }

                   TryAgain2:

                   string YearString;

                   Console.WriteLine("Введите год выпуска книги.");

                   YearString = Console.ReadLine();

                   if (!(int.TryParse(YearString, out int Year)))

                   {

                       Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");

                       Console.ReadLine();

                       goto TryAgain2;

                   }

                   ListOfBooks.SetYear = Year;

                   TryAgain3:

                   Console.WriteLine("Введите категорию книги.");  

                   ListOfBooks.SetCategory = Console.ReadLine();

                   if (ListOfBooks.SecondIndicate == true)

                   {

                       Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");

                       ListOfBooks.SecondIndicate = false;

                       Console.ReadLine();

                       goto TryAgain3;

                   }

                   Books.Add($"Книга: {ListOfBooks.SetName}, Автор: {ListOfBooks.SetAuthor}, Год: {ListOfBooks.SetYear}, Категория: {ListOfBooks.SetCategory}.");

                   Console.WriteLine("Книга успешно добавлена в вашу библиотеку.");

                   string ChoiceAfter;

                   TryAgain5:

                   Console.WriteLine("Желаете добавить ещё книгу - 2 , посмотреть список книг - 3, закончить - 4 .");

                   ChoiceAfter = Console.ReadLine(); if (int.TryParse(ChoiceAfter, out int Choice) && Choice == 2) goto TryAgain4;

                   else if(Choice == 3)

                   {

                       Console.WriteLine("Список ваших книг:");

                       foreach(string Book in Books)

                       {

                           Console.Write($"\n{Book}");

                           Console.ReadLine();

                       }

                       goto TryAgain5;

                   }

                   else if(Choice == 4)

                   {

                       Console.WriteLine("Всего доброго!");

                       Console.ReadLine();

                       return;

                   }

           break;

               case 4:

                   Console.WriteLine("Всего доброго!");

                   Console.ReadLine();

                   return;

           }

       }

       static void Menue(int UserNumber)

       {

           TryAgainX2:

           switch (UserNumber)

           {

               case 1:

                   string ChoiseString;

                   Console.WriteLine("Добавить книгу - 2 , Закончить работу - 4 .");

                   ChoiseString = Console.ReadLine();

                   int.TryParse(ChoiseString, out int Choise); if (Choise >= 2 && Choise <= 4) SecondMenue(Choise);

                   break;

               default:

                   Console.WriteLine("Некорректное значение");

           goto TryAgainX2;

           break;

           }

       }

       static void Main(string[] args)

       {

           TryAgain:

           string ChoiceFirst;

           Console.WriteLine("Здравствуйте, Вас приветсвует домашняя библиотека. Открыть меню команд - 1");

           ChoiceFirst = Console.ReadLine();

           if (int.TryParse(ChoiceFirst, out int Choice) && Choice == 1) Menue(Choice);

           else

           {

               Console.WriteLine("Неверное значение, попробуйте ещё раз.");

               goto TryAgain;

           }

           Console.ReadLine();

       }

   }

}


C#. Задание массивное и интересное.Описать класс Библиотека.

На каком языке писать? float pow3(float a) {   return(a*a*a); } void main() {   float nums[5];   // считаем, что все числа заданы   int i;   for(i=0; i< 5; i++) {       print(pow3(nums[i]));   } }

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS