Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы / Lab7 / ЯП_лаб_7.doc
Скачиваний:
4
Добавлен:
18.02.2023
Размер:
223.23 Кб
Скачать

Задание 3

Реализовать программу, которая считывает из исходного текстового файла записи определенной структуры в динамический массив. Записи в текстовом файле хранятся построчно – каждая запись в одной строке. Программа обрабатывает их и записывает в результирующий бинарный файл. Дополнительно необходимо разработать программу просмотра бинарного файла. Имя исходного файла передается в параметрах командной строки, а имя результирующего файла образуется из имени исходного файла путем замены расширения на .bin. Если в исходных данных содержится ошибка, то необходимо выводить сообщение об ошибке с указанием номера строки в файле и продолжать обработку. Выполнение данного задания оценивается в 20 баллов рейтинга.

ДОПОЛНИТЕЛЬНО (по желанию разработчика): Реализовать ввод с клавиатуры в том же формате, если имя файла не указано или указано неверно (такого файла нет). Имя результирующего файла, в этом случае, - result.bin. Выполнение дополнительно оценивается 20 баллами рейтинга.

Структура

Обработка

1

ФИРМА

Упорядочить записи по названию (направление выбирает пользователь)

2

НАКЛАДНАЯ

Отфильтровать накладные на конкретную дату (вводится пользователем)

3

СООБЩЕНИЕ

Отфильтровать по номеру устройства (вводится пользователем).

4

БИЛЕТ

Упорядочить записи по названию сеанса (направление выбирает пользователь)

5

САМОЛЕТ

Отфильтровать записи по году выпуска (вводится пользователем)

6

ПРОЦЕССОР

Отфильтровать записи по производителю (вводится пользователем)

7

ФАЙЛ

Упорядочить записи по имени файла (направление выбирает пользователь)

8

МАШИНА

Отфильтровать записи по году выпуска (вводится пользователем)

9

КНИГА

Отфильтровать записи по году издания (вводится пользователем)

10

СТУДЕНТ

Упорядочить записи по ФИО студента (направление выбирает пользователь)

11

ФИРМА

Отфильтровать записи по дате основания (вводится пользователем)

12

НАКЛАДНАЯ

Отфильтровать накладные меньше определенной суммы (вводится пользователем)

13

СООБЩЕНИЕ

Упорядочить по номеру устройства (направление выбирает пользователь)

14

БИЛЕТ

Отфильтровать записи по номеру ряда (вводится пользователем)

15

САМОЛЕТ

Отфильтровать записи по времени налета (вводится пользователем)

16

ПРОЦЕССОР

Упорядочить записи по порядковому номеру (направление выбирает пользователь)

17

ФАЙЛ

Отфильтровать записи по дате создания (вводится пользователем)

18

МАШИНА

Отфильтровать записи по марке (вводится пользователем)

19

КНИГА

Упорядочить записи по названию (направление выбирает пользователь)

20

СТУДЕНТ

Отфильтровать записи по дате рождения (вводится пользователем)

21

ФИРМА

Отфильтровать записи по дате основания (вводится пользователем)

22

НАКЛАДНАЯ

Упорядочить записи по ФИО оператора (направление выбирает пользователь)

23

СООБЩЕНИЕ

Отфильтровать по длине сообщения меньшей определенного значения (вводится пользователем).

24

БИЛЕТ

Отфильтровать записи по номеру места (вводится пользователем)

25

САМОЛЕТ

Упорядочить записи по серийному номеру (направление выбирает пользователь)

26

ПРОЦЕССОР

Отфильтровать записи по тактовой частоте (вводится пользователем)

27

ФАЙЛ

Отфильтровать записи по размеру (вводится пользователем)

28

МАШИНА

Упорядочить записи по серийному номеру (направление выбирает пользователь)

29

КНИГА

Отфильтровать записи по ФИО автора (вводится пользователем)

30

СТУДЕНТ

Отфильтровать записи по дате рождения (вводится пользователем)

СТУДЕНТ:

  • фамилия, имя, отчество (строки по 15 символов);

  • номер зачетной книжки (целое шестизначное число);

  • дата рождения (в формате дд.мм.гггг).

Формат ввода: Фамилия Имя Отчество [№ зачетной книжки], Дата рождения

КНИГА:

  • фамилия и инициалы автора (строка 15 символов);

  • название книги (строка 20 символов);

  • год издания (целое четырехзначное число);

  • количество страниц (целое десятизначное число).

Формат ввода: код ISBN: Фамилия И. О. «Название», год

МАШИНА:

  • марка (строка 15 символов);

  • модель (строка 5 символов);

  • серийный номер (целое семизначное число);

  • год выпуска (целое четырехзначное число).

Формат ввода: Марка Модель [Серийный номер], Год выпуска

ФАЙЛ:

  • имя файла (строка 30 символов, уникальное поле);

  • размер файла (целое число);

  • дата создания (в формате дд.мм.гггг);

  • время создания (в формате чч:мм).

Формат ввода: Имя файла, размер файла, дата и время создания

ПРОЦЕССОР:

  • производитель (строка 10 символов);

  • модель (строка 15 символов);

  • тактовая частота (целое число);

  • порядковый номер (целое десятизначное число в 16-ричной системе).

Формат ввода: Производитель Модель Тактовая частотаMHz Порядковый номер

САМОЛЕТ:

  • серийный номер (целое восьмизначное число)

  • марка - модель (строка 20 символов);

  • год выпуска (целое четырехзначное число);

  • время налета (целое число, в часах).

Формат ввода: Серийный номер Марка – модель, Год выпуска, Время начета

БИЛЕТ:

  • название сеанса (строка 30 символов);

  • дата и время сеанса (в формате дд.мм.гггг чч:мм);

  • номер ряда (целое число);

  • номер места (целое число).

Формат ввода: Номер «Название сеанса» Дата и время, Номер ряда, Номер места

СООБЩЕНИЕ:

  • номер устройства (целое трехзначное число)

  • ID сообщения (целое восьмизначно число в 16-ричной системе);

  • текст (строка 30 символов);

  • дата и время отправления (в формате дд.мм.гггг чч:мм).

Формат ввода: Номер устройства: ID сообщения «Текст» Дата и время отправления

НАКЛАДНАЯ:

  • номер накладной (целое число, уникальное поле);

  • дата накладной (в формате дд.мм.гггг);

  • общая сумма по накладной (вещественное число);

  • ФИО оператора (строка 20 символов).

Формат ввода: Номер: «Дата», Сумма, ФИО оператора

ФИРМА:

  • название (строка 20 символов);

  • УНН (целое десятизначное число, уникальное поле);

  • ФИО владельца (строка 20 символов);

  • дата основания (в формате дд.мм.гггг).

Формат ввода: Название [УНН], ФИО владельца, Дата основания

Соседние файлы в папке Lab7