Техническое задание.
Написать элементарную базу данных, основанную на списках. С возможностями:
вводить исходные данные с клавиатуры, через элементы диалогового окна;
вводить исходные данные из файла, с использованием стандартного диалогового окна открытия файла;
осуществлять ввод, как при условии создания нового списка, так и в режиме добавления в конец списка;
сохранять учетные данные в файле;
осуществлять поиск данных ;
выводить результаты поиска на форму и в файл;
выводить количество отсуцтвия прививок по каждому заболеванию
выводить результаты статистической обработки;
Внешняя спецификация.
Описание алгоритмов.
Программа представляет собой простую базу данных, которая хранит информацию в списках.
Для составления списков создан специальный класс который, помимо
информации необходимой для базы, содержит также указатель на следующий элемент списка. Благодаря такой организации, в эту структуру очень легко добавлять элементы.
При создании класса выдержаны принципы инкапсуляции. То есть доступ ко всем переменным напрямую закрыт, он осуществляется с помощью методов класса и конструкторов.
Описание программы.
После запуска основной формы на ней отображены кнопки «Создать новый список», «Добавить запись», «Поиск», «Загрузить из файла», «Сохранить в файл».
При нажатиях кнопок «Создать новый список» и «Добавить запись» появляется одна и та же форма для экономии памяти и эргономичности кода.
Запускаемая форма содержит поля необходимые для заполнения базы данных. Если, в текстовые поля данные не ввести, то в базу будет заполнена пустота. Для уменьшения количества кода создана переменная create. Если её значение – истина значит, список создаётся, если её значение – ложь значит, данные добавляются. Для заполнения сетки использован цикл, который позволяет узнать глубину списка.
При нажатии кнопки «Поиск» становиться активной форма поиска. Поиск будет эффективен в том случае, если в списке больше 2-х записей. НЕ возможно осуществить поиск, не выбравши вариант (по прививкам или по возрасту). Алгоритм поиска одинаковый в обоих случаях, создаётся цикл и с помощью цикла движемся по списку и проверяем записи на значения удовлетворяющие условию. Все значения выводим в форму и в файл.
При нажатии кнопки «Загрузить из файла» вызываем диалоговое окно открытия файла. Затем создаём поток ввода. Организовываем цикл для чтения из файла, и с помощью перегруженного оператора ввода читаем из файла в оперативную память. Как только очередная запись прочитана, она сразу выводится на экран. И так до конца файла. Процедура сохранения происходит аналогично наоборот. Исключения в том, что мы перед записью с формы не читаем, и кроме того если в списке меньше двух элементов, то он не будет сохранён. Для сохранности данных и избегания загрузки неформатированного файла, программ загружает и сохраняет файли ТОЛЬКО с расширением *.list.
Руководство пользователя.
Программа не сложна в эксплуатации. Её интерфейс интуитивно понятный.
Заглавие кнопок говорит о их назначениях и дёйствиях.
Кнопка «Создать список» создаёт новый список с выведением его на форму.
|