Задание. Каротека книг.

Несмотря на пугающее название, бояться этого задания не нужно)
Весь смысл программы в обработке данных вводимых с клавиатуры, работе с текстовыми данными, и немного объектно-ориентированного программирования.

Перейду к деталям.
Ваша программа должна предоставлять пользователю возможность добавлять и удалять книги из картотеки, а также совершать поиск по книгам, содержащимся в ней. Работа происходит через командную строку.

О книгах.
У наших книг будут следующие свойства (или, другими словами, поля): название (string), автор (string), дата выхода (DateTime), идентификатор (int). В скобочках указан тип данных. Идентификатор должен создаваться автоматически для добавляемой книги, и не должен повторятся (!!!), чтобы по этому полю можно было однозначно определить книгу. И ещё чтобы упростить обработку пользовательских данных, будем считать, что название книги и имя автора не содержат пробелов.

Картотека. Книги можно добавлять, удалять, получать информацию по книге (по идентификатору), получать список всех книг, получать список книг удовлетворяющих условиям (поиск). На этих функциях строится класс «Картотека».

Взаимодействие с пользователем. Ваша программа должна считывать команды пользователя и выполнять эти команды, если они соответствуют формату, иначе выводить сообщение об ошибке с описанием ошибки в команде.

Команды:

  • exit — выход из программы
  • add название_книги имя_автора дата_печати
  • rem ид_книги
  • search name=часть_названия author=часть _имени date=дата_печати

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

Коментарии приветствуются.

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

Прикрепленный файлРазмер
Программа пример (vech-1-sample.zip)14.73 кб
вернуться назад

Комментарии

пример решения

добавлен пример решения задачи для вечерников. Смотрим страничку с заданием, ссылка на архив с решением выше.