41908

Управление списком сущностей.

Лабораторная работа

Информатика, кибернетика и программирование

Выход из приложения происходит после ввода команды exit Создать класс для сущности по заданию см. Придумать не менее 6 свойств для этой сущности одно из свойств должно быть ключевым уникальным например уникальный номер. Все свойства класса сущности реализовать через property. Например каждая сущность в файле может храниться в отдельной строке файла а свойства сущности быть записаны в этой строке через пробел или символ табуляции или другой символ в определённом порядке продумать как хранить значения свойств которые в себе...

Русский

2013-10-26

19.38 KB

1 чел.

Лабораторная №2. Управление списком сущностей.

Длительность: 8 часов.

Теоретическая часть

Необходимо изучить основные классы коллекций из пространства имён System.Collections.Generic:

  1. List<T>
  2.  LinkedList<T>
  3.  SortedList<TKey, TValue>
  4. Dictionary<TKey, TValue>
  5. Queue<T>
  6. Stack<T>
  7. HashSet<T>

Изучить оператор foreach и интерфейс IEnumerable.

Изучить свойства (properties), операторы get и set.

Изучить работу с исключениями (exceptions): операторы try, catch, finally и throw.

Практическая часть

Используя среду разработки MS Visual Studio 2010 необходимо добавить в проект, созданный на первой л/р, следующий функционал.

Часть 1.

Консольное приложение не должно сразу выполнять обработку входного файла, а делать это по команде, которую вводит пользователь (название команды придумать).

Выход из приложения происходит после ввода команды «exit»

Создать класс для сущности (по заданию, см. свой вариант). Придумать не менее 6 свойств для этой сущности, одно из свойств должно быть ключевым (уникальным), например, уникальный номер. Все свойства класса сущности реализовать через property. Придумать одно свойство только для чтения, которое вычисляется из других свойств.

Часть 2

Придумать текстовый формат хранения данных списка сущностей. Например, каждая сущность в файле может храниться в отдельной строке файла, а свойства сущности быть записаны в этой строке через пробел (или символ табуляции или другой символ) в определённом порядке (продумать, как хранить значения свойств, которые в себе содержат символ-разделитель). Или можно хранить отдельные значения свойств в отдельных строках.

Реализовать чтение списка сущностей из входного файла. Имя файла передавать вторым аргументом командной строки (потому что первым аргументом передаётся имя файла из лабораторной №1). Загрузку списка из файла запускать по команде, вводимой пользователем (название команды придумать). Для хранения списка выбрать подходящую структуру данных (List, Dictionary или другую/другие). Обработку ошибок реализовать через исключения. Для упрощения можно использовать стандартные классы исключений (например, базовый класс Exception), не создавая свои.

Часть 3.

В консольное приложение добавить команды, которые должны выполнять следующие действия (названия и синтаксис для команд придумать).

  1. Поиск и вывод свойств сущности по значению ключа (сделать через Dictionary<>, а не через List<> как в примере).
  2. Поиск и вывод сущностей по значению определённого свойства (выбрать такое свойство).
  3. Вывод списка всех сущностей.
  4. Изменение значения определённого свойства сущности (выбрать такое свойство). Команда принимает на вход значение ключа сущности и новое значение свойства.

Часть 4.

Изучить демонстрационный проект, расположенный по адресу ftp://ftp.vt.tpu.ru/study/Shestakov/Public/ais/labs/Samples/Lab2/.  Этот проект является дополнением к данному методическому указанию и содержит, в том числе, комментарии, разъясняющие некоторые типичные приёмы, принятые в языке C# и программировании в целом. Результаты по части 4 в отчёте отражать не нужно.

Сущности по вариантам:

  1. Товар
  2. Персонаж онлайн РПГ
  3. Тариф сотовой связи
  4. Музыкальная композиция
  5. Пользователь социальной сети
  6. Книга
  7. Заказ пиццы с доставкой
  8. Билет на поезд

Требования к приложению.

  1. Названия солюшена, проектов, классов, членов классов должны быть осмысленные.
  2. В солюшене должно быть два проекта: (1) библиотека, содержащая логику приложения и работающая с файлами и (2) консольное приложение, принимающее входные параметры, использующее библиотеку (1) и выводящее результаты на консоль. Компоновка кода должна быть такой, чтобы при желании можно было легко изменить интерфейс пользователя (с консольного на графический, например) не трогая при этом библиотеку с бизнес-логикой.
  3. Постараться, чтобы операции работы с файлами были вынесены в отдельный класс.
  4. Функционал, реализованный в работе №1, должен оставаться работающим.

 

А также другие работы, которые могут Вас заинтересовать

66987. «Права та свободи твої, дитино» 54 KB
  Мета: познайомити учнів із правами дитини, показати важливість юридичного закріплення права дітей на особливе піклування та допомогу з боку суспільства та держави. Виховувати в учнів розуміння цінності особистості кожної дитини, необхідності дотримання її прав.
66988. ЗАОЧНОЕ ПУТЕШЕСТВИЕ ПО ДНЕПРУ 56 KB
  Днепр - украинское название Дніпро, древнегреческое название Борисфен. Вторая после Волги река восточной Европы. Берет начало на Валдайской возвышенности и протекает по территории России, Беларуси, Украины. Делится натри часті, верхнее течение - от истока до Киева, среднее течение от Киева до Запорожья, и нижчеє течение - от Запорожья до устья.
66989. Образ Добрыни Никитича (былинский сказ). Иллюстрация к былине (портрет богатыря) 28 KB
  Цели: создать у детей целостный литературно-художественный образ былинного героя; показать его в творчестве художников; представить самим и воплотить представленное в рисунке; сформировать понятие о былине виде устного народного творчества; развивать интеллект логическое мышление учащихся...
66990. Морально-етична година 64.5 KB
  Обладнання: на дошці записана тема заняття прихована паперовою смужкою; оформлені висловлювання про добро: Раз добром нагріте серце вік не охолоне.Шевченко Добра людина із доброї скарбниці серця добре виносить а лиха із лихої виносить лихе. Життя таке коротке: поспішайте робити добро.
66991. Ми прийшли у цей світ, щоб творити добро 101.5 KB
  Допомогти учням зрозуміти зміст людського життя визначити своє місце в ньому навчити відрізняти добро від зла; сприяти вихованню в них людяності чесності працьовитості відповідальності любові до людей до рідної землі. На фоні музики читець декламує духовні заповіді Матері Терези Життя це можливість...
66992. «НЕМАЄ ВИЩОЇ СВЯТИНІ НІЖ ЧИСТЕ СЯЙВО ДОБРОТИ» 61.5 KB
  Людяність, милосердя, добро. Такі знайомі нам ці слова. Все частіше ми говоримо про них, а чи кожна людина відкрита для добра? Чомусь сьогдні наше суспільство заражене вірусом егоїзму, зла і жорстокості. Зачерствілі людські серця заросли ряскою байдужості до чужого горя, чужої біди, яких у нашому житті дуже багато.
66994. Про доброту і милосердя 310 KB
  Хто ж винен у ситуації до якої потрапив вовк Чи викликає у вас симпатію герой байки Чому Як можна допомогти вовкові 2. Як це не кайся Яку частину прислів’я можна сказати саме вовкові ІІІ. Що можна віднести до милосердя А що ви вважаєте немилосердним ІІІ група Будь привітним.
66995. Доля, що дарує Надію 33.5 KB
  Одного разу Ніна Михайлівна їхала в поїзді і раптом почула по радіо повідомлення що пасажирці цього поїзду терміново потрібна донорська кров. Був випадок коли після забору крові прийшов вагон з мукою і Ніна Михайлівна пішла його розвантажувати. Ніна Михайлівна дістає із шухляди скриньку з паперами.