Смекни!
smekni.com

Создание справочника Парфюмерный магазин при помощи программы Turbo Pascal (стр. 4 из 7)

– Выбор критерий отчета: по текущему товару или по текущему подразделу (Приложение 4, рисунок 6);

– Пользователю предлагается ввести имя файла, в который будет сохранен отчет (Файл будет сохранен в корневой каталог с программой, и будет иметь расширение txt);

– Создание файла с вышеуказанным именем и расширением;

– Если выбрана по текущему подразделу, то все товары того подраздела, в котором пользователь находится в настоящий момент, будут сохранены в файл отчета, если текущий товар, то в файл отчета будет сохранен только товар, открытый в настоящий момент;

– По окончании выводится последний, просматриваемый товар.

7.5.3 Удалить товар.

Реализована функция удаления товара в процедуре Del, алгоритм которой заключается в следующем (приложение 5, схема 15):

– У пользователя уточняется, действительно ли он хочет удалить товар;

– Если да то открывается файл БД для чтения и открывается временный файл в режиме перезаписи;

– Каждый элемент из БД копируется во временный файл, за исключением того которого, хотят удалить, т.е. того код, которого находится в вершине списка;

– Закрываются оба файла;

– Открытие файла БД в режиме перезаписи и временного файла в режиме чтения;

– Вся информация из временного файла, целиком копируется в файл БД;

– Файлы закрываются;

– Выводится сообщение, что запись удалена;

– Обновление информации на экране.


8 Заключение

Подведем итог того, что все-таки удалось в данном курсовом проекте:

– Удалось создать неплохую сортировку, что облегчает работу с товарами, на мой взгляд, эта основа любой БД;

– Удалось создать достаточно простой и интуитивно понятный интерфейс, без каких либо излишеств;

– В программе реализованы основные функции работы с БД – удаление, добавление, отчетность, поиск;

– Показано когда, какая функция доступна;

– Отражено, в каком разделе осуществляется работа, т.к. некоторые разделы содержат одинаковые подразделы и можно запутаться;

– Существует справочная система и система подсказок. Хотя над справкой можно было еще поработать;

– Достаточно простое управление товарами;

Конечно, можно было еще поработать над справкой, отчетами и поиском. Действительно отчет всего по двум критериям, для БД конечно маловато, и достаточно примитивный поиск. Но, подводя итог можно сказать, что основная цель, на мой взгляд, все-таки выполнена, эти функции показаны и реализованы.

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

В итоге конечная цель все-таки достигнута. Была создана универсальная БД со всем набором необходимых функций. Конечно же, в Turbo Pascal достаточно сложно создавать БД и БД получаются достаточно примитивные, но принцип создания БД, описан очень хорошо.


9 Список литературы

9.1 Учебное пособие. «Структуры и алгоритмы обработки данных в ЭВМ», А. Н. Горитов, г. Томск

9.2 Самоучитель. «Программирование в Turbo Pascal», Н. Культин.

9.3 Открытие Интернет источники.


Приложение 1 - Графическое описание данных

Разделы

Подразделы у каждого раздела


Товара у каждого подраздела


Схема 1 – Общая схема описания хранения данных

Каждый раздел имеет иерархическою структуру представленную на схеме 2


Схема 2 – структура раздела


Приложение 2 - Представление данных в памяти ЭВМ

nomer:integer; - 2 байта;

i:integer; - 2 байта;

ch:char; - 1 байт;

Rozd:string; - 2 байта;

nabor:integer; - 2 байта;

men:array[1..16] of integer; - 2х16 - 32 байта;

strok:integer; - 2 байта;

lom:integer; - 2 байта;

vof:boolean; - 1 байт;

Razdel:integer; - 2 байта;

PodRazd:integer; - 2 байта;

MRazdel:integer; - 2 байта;

ScetRP:integer; - 2 байта;

hod:integer; - 2 байта;

kolvo:integer; - 2 байта;

Text1:string[19]; - 2 байта;

Text2:string[19]; - 2 байта;

Text3:string[19]; - 2 байта;

Text4:string[19]; - 2 байта;

f1:integer; - 2 байта;

f2:integer; - 2 байта;

f3:integer; - 2 байта;

f4:integer; - 2 байта;

f8:integer; - 2 байта;

pd:integer; - 2 байта;

pu:integer; - 2 байта;

f10:integer; - 2 байта;

Prin:boolean; - 1 байт;

Fsim:string; - 2 байта;

FKod:integer; - 2 байта;

FRazdel:integer; - 2 байта;

FPodRazdel:integer; - 2 байта;

FName:String; - 2 байта;

FSeria:string; - 2 байта;

FProizvod:string; - 2 байта;

FOpisan:string; - 2 байта;

FMany:string; - 2 байта;

MainName:string; - 2 байта;

PodRaz:array[1..16] of string; - 2 х 16 – 32 байта;

z:integer; - 2 байта;

d:string; - 2 байта;

opis1:string; - 2 байта;

opis2:string; - 2 байта;

opis3:string; - 2 байта;

Good,Nal:boolean; - 1 байт;

zed:integer; - 2 байта;

fname1:string; - 2 байта;

fname2:string; - 2 байта;

fname3:string; - 2 байта;

kod:integer; - 2 байта;

hod:integer; - 2 байта;

punkt:integer; - 2 байта;

NSP:string; - 2 байта;

fol:integer; - 2 байта;

k:string; - 2 байта;

n:integer; - 2 байта;

В итоге 168 байт.


Приложение 3 - Рисунок списковой структуры

Рисунок – 1 - схема списковой структуры - стек


Приложение 4 – Формат выходного документа.

Рисунок 1 – Разметка экрана

Рисунок 2 – Просмотр товаров


Рисунок 3 – Помощь

Рисунок 4 – Добавление товара

Рисунок 5 – Критерии поиска

Рисунок 6 – Отчет

Рисунок 7 – Выходной документ в файл

Приложение 5 – Схема последовательности обработки данных.


Схема 1 – Общая схема


Схема 2 – Разметка экрана


Схема 3 – вывод разделов и подразделов


Вверх

Вниз