Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Министерство образования Республики Беларусь2.docx
Скачиваний:
4
Добавлен:
29.09.2019
Размер:
95.99 Кб
Скачать

Задача 3

  1. Условие задачи

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

  1. Входные данные

    1. Название одного произведения

Назначение: часть исходных данных для заполнения базы данных

Обозначение в программе: элемент name структуры типа WORKS.

Тип: символьный (char)

Диапазон допустимых значений: все символы.

    1. Имя автора одного произведения

Назначение: часть исходных данных для заполнения базы данных

Обозначение в программе: элемент author структуры типа WORKS.

Тип: символьный (char).

Диапазон допустимых значений: все символы.

    1. Название материала одного произведения

Назначение: часть исходных данных для заполнения базы данных

Обозначение в программе: элемент material структуры типа WORKS.

Тип: символьный (char).

Диапазон допустимых значений: все символы.

    1. Номер одного лота

Назначение: часть исходных данных для заполнения базы данных

Обозначение в программе: элемент number структуры типа WORKS.

Тип: целочисленный (int).

Диапазон допустимых значений: (0;32768]

    1. Начальная цена одного лота

Назначение: часть исходных данных для заполнения базы данных

Обозначение в программе: элемент number структуры типа WORKS.

Тип: вещественный (float).

Диапазон допустимых значений: [0;3.4E+38]

  1. Описание функций

    1. Название: filequestion.

Назначение: определение способа ввода исходных данных (в окне программы либо из файла); определение необходимости сохранения результатов в текстовый файл

Указания по вызову и использованию*: для определения способа ввода исходных данных следует передать в функцию в качестве параметра число 1, для определения необходимости сохранения результатов в текстовый файл следует передать число 2.

Список формальных параметров:

  • pos

Тип: целочисленный (int).

Назначение: определение назначения функции как определяющей способ ввода исходных данных либо как определяющей необходимость сохранения результатов в текстовый файл.

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

    1. Название: enter_int

Назначение: считывание вводимой информации и, в случае ввода целого числа, его возвращение

Указания по вызову и использованию: следует использовать при необходимости ввода целочисленных данных

Описание внешних эффектов: в случае ввода нецелочисленной информации выводится сообщение о том, что введено не целое число

    1. Название: enter_float

Назначение: считывание вводимой информации и, в случае ввода вещественного числа, его возвращение

Указания по вызову и использованию: следует использовать при необходимости ввода вещественных данных

Описание внешних эффектов: в случае ввода невещественной информации выводится сообщение о том, что введено не вещественное число.

    1. Название: enter_string

Назначение: считывание вводимой информации в строку

Указания по вызову и использованию: следует использовать при необходимости ввода строки

Список формальных параметров:

  • *str

Тип: символьный (char)

Назначение: строка, в которую записываются введённые данные

    1. Название: delete_slash_n

Назначение: удаление служебного символа ‘\n’ из конца строки.

Указания по вызову и использованию: применять к строкам, полученным с помощью функции fgets и изначально находившимся не в конце файла-источника

Список формальных параметров:

  • *str

Тип: символьный (char)

Назначение: строка, из которой будет удаляться символ ‘\n’

    1. Название: newf

Назначение: создание нового файла

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

    1. Название: addf.

Назначение: дозапись в имеющийся файл

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

    1. Название: editf

Назначение: редактирование имеющихся записей

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

    1. Название: delf

Назначение: удаление существующей записи.

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

    1. Название: findf

Назначение: поиск по любому сложному критерию

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

    1. Название: sort_by_author.

Назначение: сортировка по автору.

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

    1. Название: sort_by_price.

Назначение: сортировка по начальной цене

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

    1. Название: outf

Назначение: вывод базы данных из файла на экран

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

    1. Название: nothing

Назначение: заполнение массива указателей на функции для обеспечения перехода из меню задания в главное меню программы

    1. Название: structin

Назначение: ввод структуры данных типа WORKS.

Список формальных параметров:

  • &s

Тип: WORKS

Назначение: заполняемая переменная

Описание внешних эффектов: выводятся приглашения ввести название, автора, материал, номер лота и начальную стоимость произведения

    1. Название: structout

Назначение: ввод структуры данных типа WORKS.

Список формальных параметров:

  • &s

Тип: WORKS

Назначение: переменная, содержание которой выведется на экран

Описание внешних эффектов: выводятся название, автор, материал, номер лота и начальная цена произведения

    1. Название: menu2

Назначение: выбор действия над базой данных

Описание внешних эффектов: выводится приглашение выбрать необходимое действие.

    1. Название: t3

Назначение: решение задачи

Описание внешних эффектов: перед каждым вызовом функции menu2 выводится сообщение паузы и экран очищается.