Разработка информационно-поисковой системы "Услуги фотоцентра" на языке программирования Паскаль

Разработка база данных в виде таблицы, включающей поля: ФИО, адрес, номер телефона, наименование услуги, сумма оплаты, срок выполнения. Процедуры программы и соответствующие им пункты в меню. Описание исходных данных, интерфейса и работы каждой процедуры.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 08.06.2014
Размер файла 997,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • 1. Структурированный тип данных - множество
  • 2. Разработка информационно-поисковой системы «Услуги фотоцентра» на языке программирования Паскаль
  • 2.1 Постановка задачи
  • 2.2 Описание алгоритма решения задачи
  • 2.3 Описание исходных данных
  • 3. Практическая часть выполнения задачи на языке программирования Паскаль
  • 3.1 Описание интерфейса
  • 3.2 Описание работы каждого блока
  • 4. Результаты работы программы
  • Заключение
  • Список использованных источников
  • Приложение А Листинг программы
  • Приложение Б Блок-схема

Введение

Язык Паскаль назван в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа.

Язык Паскаль был создан Никлаусом Виртом в 1968--1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Он был опубликован в 1970 году Виртом как небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные.

В данном курсовом проекте главной целью является разработка информационно-поисковой системы «Услуги Фотоцентра» на языке программирования Паскаль, с удобным пользовательским интерфейсом для работы с данной программой.

Информационно-поисковая система (ИПС) - это система, обеспечивающая поиск и отбор необходимых данных в некоторой базе данных.

Результатом выполнения курсового проекта будет являться база данных в виде таблицы, которая будет включать в себя следующие поля: ФИО, адрес, номер телефона, наименование услуги, сумма оплаты, срок выполнения. А так же необходимо изучить теоретические сведения, закрепить и систематизировать знания, полученные в процессе изучения дисциплины «Основы алгоритмизации и программирования», а так же уметь применять полученные знания на практике.

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

1. Структурированный тип данных - множество

Множество - это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку объектов, которые можно рассматривать как единое целое [4, c.139].

Все элементы множества должны принадлежать одному из порядковых типов, содержащему не более 256 значений [4, c. 185-190].

Переменные множественного типа описываются так:

Var <идентификатор> : set of <базовый тип>;

Например:

Var A, D : Set Of Byte;

B : Set Of 'a'..'z';

C : Set Of Boolean;

Операции над множествами:

Объединением двух множеств A и B называется множество, состоящее из элементов, входящих хотя бы в одно из множеств A или B [5, c. 13-15].. Знак операции объединения в Паскале «+». Наглядное изображение объединения двух множеств A и B представлено на рисунке 1.1.

Рисунок 1.1 - Объединение двух множеств A и B

Пример операции объединения:

[1, 2, 3, 4] + [3, 4, 5, 6] => [1, 2, 3, 4, 5, 6]

Пересечением двух множеств A и B называется множество, состоящее из элементов, одновременно входящих во множество A и во множество B. Знак операции пересечения в Паскале «*». Наглядное изображение пересечение двух множеств A и B представлено на рисунке 1.2.

Рисунок 1.2 - Пересечение двух множеств A и B

Пример операции пересечения:

[1, 2, 3, 4] * [3, 4, 5, 6] => [3, 4]

Разностью двух множеств A и B называется множество, состоящее из элементов множества A, не входящих во множество B [3]. Знак операции разности в Паскале «-».Наглядное изображение разности двух множеств A и B представлено на рисунке 1.3.

Рисунок 1.3 - Разность двух множеств A и B

Пример программы сохранения в строке только первых вхождений символов, удалив все остальные [2, c. 99].:

program vvedenie_primer;

var m : set of char;s : string; i : byte;

begin

write('Введите строку: ');readln(s);

m :=[];i := 1;

while i <= length(s) do

if s[i] in m then delete(s, i, 1)

else begin m:=m+[s[i]]; i := i + 1 end;writeln(s);end.

2 Разработка информационно-поисковой системы «Услуги фотоцентра» на языке программирования паскаль

2.1 Постановка задачи

В курсовом проекте поставленной задачей являлась разработка информационно-поисковой системы на тему «Услуги фотоцентра» на языке программирования Паскаль. В ходе работы применить знания, полученные при изучении предмета «Основы алгоритмизации и программирования», а так же изученные самостоятельно.

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

Оформить удобный пользовательский интерфейс. Добавить меню, содержащее все действия, которые выполняют процедуры. Меню должно вызывать соответствующие процедуры из программы.

Разработанная поисковая система должна выполнять все поставленные задания исправно. Находить все требуемые данные и без потерь предоставлять их для просмотра пользователю.

Программа и её интерфейс должен быть удобным и понятным для любого пользователя.

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

Разработанная программа должна выполнять основные функции как:

- удалять все записи по заданной услуге;

- заменять номер телефона для заданной услуги;

- выводить все сведения об оплате по заданной услуге.

Диалог с пользователем в выполненной программе должен производиться в виде меню.

2.2 Описание алгоритма решения задачи

В программе содержатся множества процедур, каждая из которых выполняет свою функцию. Это такие процедуры, как:

- процедура добавления клиентов (new_vvod);

- процедура вывода клиентов в виде таблицы (new_vivod);

- процедура удаления записи по заданному атрибуту (udalenie_zapisi);

- процедура удаления всех записей по заданной услуге (udalenie_uslug);

- процедура замены номера телефона для заданной услуги (zamena);

- процедура вывода сведений об оплате по заданной услуге (zadan_uslug);

- процедура поиска (poisk);

- процедура сортировки (sortirovka).

Каждой процедуре соответствует пункт в меню, которые осуществляют следующие действия:

Пункт «Добавление клиентов» при запуске вызывает процедуру new_vvod. При вызове данной процедуры пользователь должен ввести количество добавляемых клиентов и необходимые данные, с которыми, в последующем он будет осуществлять определённые операции. Данная процедура работает как с новыми файлами (добавление клиентов в пустой файл), так и с уже созданными (дополняет уже в созданный файл необходимое пользователю число клиентов)

Пункт «Просмотр таблицы» вызывает процедуру new_vivod. Процедура выводит на экран данные введенные пользователем в процедуре new_vvod (то есть в пункте «Добавление клиентов»), которые были созданы уже ранее, в виде таблицы для их наиболее удобного отображения и последующих действий над ними.

Пункт «Удаление записи по заданному атрибуту» вызывает процедуру udalenie_zapisi. После выбора данной процедуры появляется новое диалоговое окно, в котором пользователю предложено выбрать атрибут для удаления записи. Данное окно включает в себя следующие пункты:

1 удаление по «ФИО»;

1.1 удаление по «Фамилии»;

1.2 удаление по «Имени»;

1.3 удаление по «Отчеству»;

2 удаление по «Адресу»;

2.1 удаление по «Городу»;

2.2 удаление по «Улице»;

2.3 удаление по «Дому»;

2.4 удаление по «Квартире»;

3 удаление по «Номеру телефона»;

4 удаление по «Наименованию услуги»;

5 удаление по «Сумме оплаты»;

6 удаление по «Сроку выполнения».

Пункт «Удаление всех записей по заданной услуге» вызывает процедуру udalenie_uslug. Вызванная процедура предлагает пользователю ввести наименование услуги для удаления всех записей (клиентов) с введённой услугой.

Пункт «Замена номера телефона для заданной услуги» производит вызов процедуры zamena. Указанная процедура производит запрос у пользователя с начало наименование услуги, а затем номер телефона для его замены.

Пункт «Вывод сведений об оплате по заданной услуге» осуществляет вызов процедуры zadan_uslug. Вызванная процедура спрашивает у пользователя наименование услуги, а затем происходит вывод сведений об оплате введённой процедуры в виде таблицы содержащей поля: Фамилия клиента, наименование услуги, сумма оплаты.

Пункт «Поиск» выполняет поиск данных вызывая процедуру poisk. Данное действие происходит в отдельном диалоговом окне и предлагает пользователю произвести выбор атрибута (категории) поиска. Данное окно содержит следующие поля:

1 поиск по «ФИО»;

1.1 поиск по «Фамилии»;

1.2 поиск по «Имени»;

1.3 поиск по «Отчеству»;

2 поиск по «Адресу»;

2.1 поиск по «Городу»;

2.2 поиск по «Улице»;

2.3 поиск по «Дому»;

2.4 поиск по «Квартире»;

3 поиск по «Номеру телефона»;

4 поиск по «Наименованию услуги»;

5 поиск по «Сумме оплаты»;

6 поиск по «Сроку выполнения».

Пункт «Сортировка» выполняет действие сортировки (методом «пузырька») данных путем вызова из программы процедуры sortirovka. Пользователь в любое время может отсортировать свою базу данных (клиентов) по любому из критериев:

1 сортировка по «ФИО»;

1.1 сортировка по «Фамилии»;

1.2 сортировка по «Имени»;

1.3 сортировка по «Отчеству»;

2 сортировка по «Адресу»;

2.1 сортировка по «Городу»;

2.2 сортировка по «Улице»;

2.3 сортировка по «Дому»;

2.4 сортировка по «Квартире»;

3 сортировка по «Номеру телефона»;

4 сортировка по «Наименованию услуги»;

5 сортировка по «Сумме оплаты»;

6 сортировка по «Сроку выполнения».

В программе так же присутствуют четыре неосновных процедур, которые используются только при запуске программы. Это процедуры:

- Создание нового файла (sozdanie);

- Выбор уже созданного файла (otkritie);

- Вывод найденных клиентов (из процедуры poisk) в виде таблицы (new_vivod_poisk);

- Сохранение всей базы данных (клиентов) в файле txt (“Tablica.txt”) для удобства работы (sohranenie_txt);

Суть работы данных процедур - это предоставление пользователю права выбора работать с новыми данными и заполнить ими новый файл и таблицу или использовать данные из ранее сохраненного файла, для этого пользователю необходимо знать его название. Также для удобства отображения найденных клиентов (из процедуры poisk) в виде таблицы и сохранения всей базы в файл с типом txt для дальнейшей работы за пределами программы, либо для дальнейшей распечатки и редактирования вне поисковой системы «Услуги Фотоцентра».

2.3 Описание исходных данных

К основным исходным данным формирующим таблицу, находящуюся в базе данных, относятся:

- ФИО (фамилия, имя, отчество);

- адрес (город, улица, дом, квартира);

- номер телефона;

- наименование услуги;

- сумма оплаты;

- срок выполнения.

Так для полей: дом (dom), квартира (kvartira), номер телефона (nomer), сумма оплаты (summa), срок выполнения (srok), общее количество клиентов (n) был выбран тип данных Integer. Данный тип используется для работы в программе с целочисленными значениями.

Для полей: фамилия (familiy), имя (imy), отчество (otchestvo), город (gorod), улица (ulica), наименование услуги (usluga) был выбран тип данных String. Переменные данных поля заполняются символами русского или английского алфавита.

3. Практическая часть выполнения задачи на языке программирования Паскаль

3.1 Описание интерфейса

Интерфейс - это совокупность средств и методов, при помощи которых пользователь взаимодействует с программой, компьютером, сайтами и т.д [1].

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

Рисунок 3.1 - Основное меню программы

Таблица состоит из шести колонок, каждой из которых присвоено имя (ФИО, адрес, номер телефона, наименование услуги, сумма оплаты, срок выполнения). Каждому полю в таблице соответствует определенная процедура, которая осуществляет выполнение каждого выбранного, пользователем, действия. Таблица заполняется автоматически, после ввода пользователем в файл значений. Так же таблицу можно просматривать после выполнения каких-либо операций над ее содержимым, все изменения будут видны и сохраняться в файл.

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

3.2 Описание работы каждого блока

Перечисление и описание каждой подпрограммы (процедуры).

- Процедура «otkritie» - процедура поиска созданного ранее файла. Если файл был создан пользователем уже ранее, то при помощи данной процедуры можно найти файл по его имени и использовать для работы.

- Процедура «sozdanie» - процедура создания нового файла. Создает и сохраняет файл, в который позже можно заносить данные и использовать их в ходе работы с информационно-поисковой системе.

- Процедура «new_vvod» - процедура ввода производит заполнение таблицы (базы) при ее создании. Пользователь вводит данные в предложенные поля будущей таблицы.

- Процедура «new_vivod» - процедура выводит на экран данные введенные пользователем, если данные отсутствуют в файле, то на экран выводится только рамка таблицы, а данные в ней будут отсутствовать. А также в данной процедуре происходит склонение слова “День” под цифру введённую пользователем в процедуре ввода данных (new_vvod), в атрибуте «Срок Выполнения Услуги».

- Процедура «udalenie_zapisi» - процедура производит удаление записи из таблицы, по указанному пользователем атрибуту. Программа проходит по записям пока не конец файла, если запись не равна введённому условию (атрибуту) пользователем то происходит присваивание этой записи другому (дополнительному) массиву, а затем происходит запись этого доп. массива в файл (с которым производятся операции в данный момент).

- Процедура «udalenie_uslug» - процедура производит удаление записи из файла (базы, таблицы) по заданной пользователем услуге. С начало идёт чтение файла открытого в данный сеанс, затем пользователь производить ввод “ Наименования Услуги”, потом идёт поочерёдное сравнение каждой “Услуги” (записи) из файла с введённой пользователем “Услугой” если совпадения не происходит, то осуществляется присваивание этой записи (в которой “Наименование услуги” не совпали) “другому” массиву, и так происходит проверка с каждой “Услугой” (записью), а затем происходит запись этого “другого” массива в файл который открыт в данный момент (в данный сеанс).

- Процедура «zamena» - процедура производит замену номера телефона для заданной пользователем услуги. С начало идёт чтение файла с которым пользователь работает в данный момент, затем пользователю предлагается ввести “Наименование услуги” и “Номер телефона” (для его замены), потом осуществляется поиск (сравнение) записи с введённой пользователем “Услугой”, если такая запись найдена то ей сразу происходит присваивание в атрибут “Номер телефона” введённым пользователем в начале процедуры. Потом происходит запись всех изменений произведённых в данной процедуре, в файл с которым пользователем работает в данный момент.

- Процедура «zadan_uslug» - процедура вывода сведений об оплате по заданной услуге пользователем. Как и во всех процедурах для начало идёт чтение файла с которым пользователь работает в данный момент. Потом у пользователя происходит запрос “Наименования услуги”, и только потом осуществляется сравнение (поиск) записи с введённой пользователем “Услугой”. Если данная услуга найдена, то происходит ввод сведений об оплате по заданной “Услуге” в виде таблицы содержащей атрибуты: фамилия клиента, наименование услуги, сумма оплаты. В данной процедуре никаких записей в файл не осуществляется, а только чтение и вывод на экран данных запрошенных пользователем.

- Процедура «poisk» - Данная процедура производит поиск, по нужным атрибутам пользователю. Программа проходит по полю указанному пользователем и если данные в таблице совпадает с введенными пользователем, то данная строка выводится на экран в таблицу и происходит аналогичный поиск дальше по всем полям, пока будет не достигнут конец файла.

- Процедура «sortirovka» - процедура производит сортировку данных. Сортировка производится по всем полям (атрибутам) соответственно с сортировкой производится сортировка и других полей. Данные сортируются по методу пузырька, суть метода состоит в том, что при каждом просмотре записи, рассматривается элемент сравнения со всеми нижележащими элементами и при необходимости меняет их местами, соответственно происходит сортировка других полей по такому же принципу

4. Результаты работы программы

При запуске программы появляется окно, в котором необходимо выбрать, как начинать работу с программой. В окне предложен выбор «Выбрать уже созданный файл» или же «Создать новый файл», как показано на рисунке 4.1.

Рисунок 4.1 - Подменю программы

Если пользователь выбирает «1. Выбрать уже созданный файл», то появится еще одно окно, в котором пользователю необходимо будет ввести имя файла, с которым он хочет работать. Подтвердить имя, нажав Enter. После этого можно работать с данными, которые находились в указанном файле, действия указаны на рисунке 4.2.

Рисунок 4.2 - Выбор уже созданного файла

Пользователь так же может создать новый файл, выбрав соответствующее действие «2. Создать новый файл» и указать имя, под которым файл будет сохранен файл. В основном меню необходимо выбрать действие «Добавление клиента» при добавлении пользователю необходимо будет заполнить соответствующие поля в таблице такие как: ФИО (фамилия, имя, отчество), адрес (город, улица, дом, квартира), номер телефона, наименование услуги, сумма оплаты, срок выполнения. Пример заполнения нового файла продемонстрирован на рисунке 4.3.

Рисунок 4.3 - Пример заполнения основной таблицы

Для работы с данными необходимо выбрать в основном меню одну из команд: просмотр таблицы, удаление записи по заданному атрибуту, удаление всех записей по заданной услуге, замена номера телефона для заданной услуги, вывод сведений об оплате по заданной услуге, поиск, сортировка и программа выполнит выбранное пользователем действие. К примеру «Сортировка» - сортирует данные в таблице по любому из полей. Сортировка по атрибуту «Фамилия» показано на следующем рисунке 4.4.

Рисунок 4.4 - Заполненная основная таблица

При использовании процедуры «Поиск» на экране появляется таблица с найденными клиентами, с введёнными до этого критериями поиска. Просмотреть работу данной процедуры можно на рисунке 4.5.

Рисунок 4.5 - Выполнение процедуры «Поиск» по атрибуту “Город” с критерием “Гомель”

Процедуры удаление записи по заданному атрибуту, удаление всех записей по заданной услуге, замена номера телефона для заданной услуги, вывод сведений об оплате по заданной услуге выполняют соответствующие им действия (удаление записей, замену и вывод сведений в виде таблицы). Принцип работы данных процедур можно увидеть на следующих рисунках: 4.6, 4.7, 4.8, 4.9.

Рисунок 4.6 - Выполнение процедуры «Удаление записи по заданному атрибуту» с атрибутом “Фамилия”

Рисунок 4.7 - Выполнение процедуры «Удаление всех записей по заданной услуге» с услугой “Реставрация фото”

Рисунок 4.8 - Выполнение процедуры «Замена номера телефона для заданной услуги» с услугой “Проявка плёнки”

Рисунок 4.9 - Выполнение процедуры «Вывод сведений об оплате по заданной услуге» с услугой “Фото на паспорт”

ЗАКЛЮЧЕНИЕ

Созданная курсовая работа на тему: информационно - поисковая система «Услуги фотоцентра» - отличное решение для представителей таких организаций и тех, кто в своей профессиональной среде сталкивается с большим количеством клиентов. Программа была разработана на языке программирования Паскаль, с организацией удобного пользовательского интерфейса для работы с данной программой.

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

Данная информационно-поисковая система может широко использоваться в фотомагазинах различных масштабов.

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

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

Список использованных источников

1. История создания языка Turbo Pascal [Электронный ресурс]

2. Иванов, Б.И. Дискретная математика в современных компьютерных технологиях / Б.И. Иванов. - Технический университет, 2003. - 288 с.

3 Язык программирования Паскаль [Электронный ресурс]

4 Абрамов В.Г. Введение в язык Паскаль / В.Г. Абрамов. - Учебное пособие, 1988. - 320 с.

5 Столл Р.Р. Множества. Логика. Аксиоматические теории. -- М.: Просвещение, 1968. -- 232 с.

программа интерфейс процедура меню

ПРИЛОЖЕНИЕ А

Листинг программы

Program kursovay_zaharenko;

uses crt;

type foto=record

familiy,imy,otchestvo:string; //ФИО

gorod,ulica:string; //Адрес

usluga:string; // Наименование услуги

nomer,summa,srok,dom,kvartira:integer; //Номер телефона, Сумма оплаты, Срок выполнения, Номер Дома, Номер Квартиры

end;

var klient,klient2:array[1..100] of foto;

v,n,i,j,a,n1:integer; fayl:file of foto; nazvanie:string; d:foto; g:text;

procedure otkritie; //Открытие уже созданного файла

begin

clrscr;

writeln ('Введите имя файла ');

readln (nazvanie);

assign (fayl,nazvanie); reset (fayl); end;

procedure sozdanie; //Создание нового файла

begin

clrscr;

writeln ('Введите имя для нового файла: ');

readln (nazvanie);

assign (fayl,nazvanie); rewrite (fayl);

end;

procedure sohranenie_txt;

var m,r:integer;

begin

writeln;

writeln ('Пожалуйста подождите, идёт запись изменений в файл ...');

assign (fayl,nazvanie); reset(fayl); //Запись Базы в Блокнот

assign(g,'Tablica.txt');rewrite(g);

Textcolor (14); writeln;

Writeln (g,' ':20,'Таблица Клиентов "Услуг Фотоцентра" '); writeln; i:=0;

Textcolor (10);

Writeln (g,'','--',#22,'-------------',#22,'---------------',#22,'---------',#22,'-----------------',#22,'--------',#22,'-------',#2);

Writeln (g,#5,'№ ',#5,' ФИО ',#5,' Адрес ',#5,' Номер ',#5,' Услуга ',#5,' Сумма ',#5,' Срок ',#5);

while not eof(fayl) do with d do begin

Writeln (g,#25,'--',#16,'-------------',#16,'---------------',#16,'---------',#16,'-----------------',#16,'--------',#16,'-------',#23);

delay (1000);

read (fayl,d);inc(i);textcolor (15);

if srok>100 then //Начинаем склонять слова "День" под цифру "Срок"

m:=srok mod 100;

if (m>= 11) and (m<= 14) then

Writeln (g,'',' ','',familiy:13,'','г.':4,gorod:11,'',nomer:9,'',usluga:17,'',summa:8,'',srok:2,' дней','');

r:=srok mod 10;

case r of

0, 5 .. 9:Writeln (g,'',' ','',familiy:13,'','г.':4,gorod:11,'',nomer:9,'',usluga:17,'',summa:8,'',srok:2,' дней','');

1:Writeln (g,'',' ','',familiy:13,'','г.':4,gorod:11,'',nomer:9,'',usluga:17,'',summa:8,'',srok:2,' день','');

2..4:Writeln (g,'',' ','',familiy:13,'','г.':4,gorod:11,'',nomer:9,'',usluga:17,'',summa:8,'',srok:3,' дня','');end;

Writeln (g,'',i:2,'',imy:13,'','ул.':4,ulica:11,'',' ':9,'',' ':17,'',' ':8,'',' ':7,'');

Writeln (g,'',' ','',otchestvo:13,'','д.':5,dom:3,'кв.':4,kvartira:3,'',' ':9,'',' ':17,'',' ':8,'',' ':7,'');end;

Writeln (g,#3,'--',#21,'-------------',#21,'---------------',#21,'---------',#21,'-----------------',#21,'--------',#21,'-------',#4);

close (g);end;

procedure new_vivod_poisk; //Вывод в таблицу найденных атрибутов

var k,m,r:integer;

begin

Clrscr;Textcolor (14);

Writeln (' ':20,'Таблица Найденных Клиентов "Услуг Фотоцентра" '); writeln;

Textcolor (10);

Writeln ('--------------',#22,'---------------',#22,'----------',#22,'-----------------',#22,'--------',#22,'--------',#2);

Writeln (#5,' ФИО ',#5,' Адрес ',#5,' Номер ',#5,' Услуга ',#5,' Сумма ',#5,' Срок ',#5);

For i:=1 to n1 do with klient2[i] do begin

Writeln (#25,'--------------',#16,'---------------',#16,'----------',#16,'-----------------',#16,'--------',#16,'--------',#23);

if n1>5 then delay(1000) else delay(0);

textcolor (15);

if srok>100 then //Начинаем склонять слова "День" под цифру "Срок"

m:=srok mod 100;

if (m>= 11) and (m<= 14) then

Writeln ('',familiy:14,'',gorod:15,'',nomer:10,'',usluga:17,'',summa:8,'',srok:3,' дней','');

r:=srok mod 10;

case r of

0, 5 .. 9:Writeln ('',familiy:14,'',gorod:15,'',nomer:10,'',usluga:17,'',summa:8,'',srok:3,' дней','');

1:Writeln ('',familiy:14,'',gorod:15,'',nomer:10,'',usluga:17,'',summa:8,'',srok:3,' день','');

2..4:Writeln ('',familiy:14,'',gorod:15,'',nomer:10,'',usluga:17,'',summa:8,'',srok:4,' дня','');end;

Writeln ('',imy:14,'',ulica:15,'',' ':10,'',' ':17,'',' ':8,'',' ':8,'');

Writeln ('',otchestvo:14,'',dom:8,kvartira:7,'',' ':10,'',' ':17,'',' ':8,'',' ':8,'');

end;

Writeln (#3,'--------------',#21,'---------------',#21,'----------',#21,'-----------------',#21,'--------',#21,'--------',#4);

write ('Что-бы вернуться в "Меню" нажмите <ENTER> ');

readln;end;

procedure poisk; //Процедура Поиска

var k,b:integer; q:string;

begin

Clrscr;Textcolor (11);

writeln (' ':25,'Выберите поле Поиска'); writeln;

Textcolor (15);

writeln (' ':20,'1. Поиск по ФИО');

writeln (' ':20,'2. Поиск по Адресу');

writeln (' ':20,'3. Поиск по Номеру телефона');

writeln (' ':20,'4. Поиск по Наименованию услуги');

writeln (' ':20,'5. Поиск по Сумме оплаты');

writeln (' ':20,'6. Поиск по Сроку выполнения');

Write(' ':20,'Выберите действие: ');readln (k);

assign (fayl,nazvanie);reset(fayl);i:=1; n:=0;

while not eof(fayl) do begin

read(fayl,klient[i]);inc(i); inc(n); end;

case k of

1: begin //Поиск по ФИО

clrscr;Textcolor (11);

writeln (' ':25,'Выберите тип поиска по ФИО'); writeln;

Textcolor (15);

writeln (' ':20,'1. Поиск по Фамилии');

writeln (' ':20,'2. Поиск по Имени');

writeln (' ':20,'3. Поиск по Отчеству');

Write(' ':20,'Выберите действие: ');readln (k);

if k=1 then begin //Поиск по Фамилии

clrscr;

Write ('Введите Фамилию для поиска Клиента: '); Readln (q);n1:=0;

for i:=1 to n do

if klient[i].familiy=q then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk end;

if k=2 then begin //Поиск по Имени

clrscr;

Write ('Введите Имя для поиска Клиента: '); Readln (q);n1:=0;

for i:=1 to n do

if klient[i].imy=q then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk end;

if k=3 then begin //Поиск по Отчеству

clrscr;

Write ('Введите Имя для поиска Клиента: '); Readln (q);n1:=0;

for i:=1 to n do

if klient[i].otchestvo=q then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk end;end;

2: begin //Поиск по Адресу

clrscr;Textcolor (11);

writeln (' ':25,'Выберите тип поиска по Адресу'); writeln;

Textcolor (15);

writeln (' ':20,'1. Поиск по Городу');

writeln (' ':20,'2. Поиск по Улице');

writeln (' ':20,'3. Поиск по Дому');

writeln (' ':20,'3. Поиск по Квартире');

Write(' ':20,'Выберите действие: ');readln (k);

if k=1 then begin //Поиск по Городу

clrscr;

Write ('Введите Город для Поиска(в формате:г.<Название Города>): '); Readln (q);n1:=0;

for i:=1 to n do

if klient[i].gorod=q then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk end;

if k=2 then begin //Поиск по Улице

clrscr;

Write ('Введите Улицу для Поиска: '); Readln (q);n1:=0;

for i:=1 to n do

if klient[i].ulica=q then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk end;

if k=3 then begin //Поиск по Дому

clrscr;

Write ('Введите Дом для Поиска: '); Readln (q);n1:=0;

for i:=1 to n do

if klient[i].dom=b then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk end;

if k=4 then begin //Поиск по Квартире

clrscr;

Write ('Введите Квартиру для Поиска: '); Readln (q);n1:=0;

for i:=1 to n do

if klient[i].kvartira=b then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk end;end;

3: begin //Поиск по номеру телефона

clrscr;

Write ('Введите Номер телефона Клиента: '); Readln (b);n1:=0;

for i:=1 to n do

if klient[i].nomer=b then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk

end;

4: begin //поиск по Наименнованию услуги

clrscr;

Write ('Введите Наименование Услуги для поиска Клиента: '); Readln (q);n1:=0;

for i:=1 to n do

if klient[i].usluga=q then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk

end;

5: begin //поиск по Сумме оплаты

clrscr;

Write ('Введите Сумму Оплаты для поиска Клиента: '); Readln (b);n1:=0;

for i:=1 to n do

if klient[i].summa=b then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk

end;

6: begin //поиск по Сроку выполенения

clrscr;

Write ('Введите Наименование Услуги для поиска клиента: '); Readln (b);n1:=0;

for i:=1 to n do

if klient[i].srok=b then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

if n1<>0 then

new_vivod_poisk

end;end; end;

procedure zadan_uslug; //Вывод сведений об оплате по заданной услуге

var q:string;

begin

clrscr;Textcolor (11);

writeln (' ':15,'Вывод Сведений об Оплате по заданной Услуге'); writeln;

Textcolor (15);

write ('Введите Наименование Услуги: '); readln (q);

reset(fayl);i:=1; n:=0;

while not eof(fayl) do begin

read(fayl,klient[i]);inc(i); inc(n); end;

clrscr;

Writeln (#25,'-----------------',#22,'-----------------------',#22,'---------------',#2);

Writeln (#5,' Фамилия Клиента ',#5,' Наименование Услуги ',#5,' Сумма Оплаты ',#5);

For i:=1 to n do with klient[i] do If klient[i].usluga=q then begin

Writeln (#25,'-----------------',#16,'----------------------',#16,'--------------',#23);

writeln ('',familiy:19,'',usluga:25,'',summa:16,'') end;

writeln (#3,'-----------------',#21,'-----------------------',#21,'----------------',#4);

readln;end;

procedure zamena; //Замена Номера телефона по Заданной Услуге

var q:string; e:integer;

begin

clrscr;

reset(fayl); i:=1;

while not eof(fayl) do begin

read(fayl,klient[i]);i:=i+1; n:=i-1; end;Textcolor (11);

writeln (' ':15,'Замена Номера Телефона для заданной Услуги'); writeln;

Textcolor (15);

write ('Введите Наименование Услуги: '); readln (q);

write ('Введите Номер телефон для его Замены: '); readln (e);

for i:=1 to n do

if klient[i].usluga=q then begin

klient[i].nomer:=e; end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]);end;

procedure udalenie_uslug; //Удаление Записи по Заданной Услуге

var q:string;

begin

clrscr;

assign (fayl,nazvanie);reset(fayl);i:=1; n:=0;

while not eof(fayl) do begin

read(fayl,klient[i]);inc(i); inc(n); end;Textcolor (11);

writeln (' ':15,'Удаление Записи по Заданной Услуге'); writeln;

Textcolor (15);

write ('Введите Наименование Услуги: '); readln (q);n1:=0;

for i:=1 to n do

if klient[i].usluga<>q then begin

n1:=n1+1;

klient2[n1]:=klient[i]; end;

rewrite(fayl);

for i:=1 to n1 do

write(fayl,klient2[i]);end;

procedure udalenie_zapisi; //Удаление Записи по Заданному Атрибуту

var k,b:integer; q:string;

begin

clrscr;Textcolor (11);

writeln (' ':25,'Выберите Атрибут для Удаления Записи'); writeln;

Textcolor (15);

writeln (' ':20,'1. Удаление по ФИО');

writeln (' ':20,'2. Удаление по Адресу');

writeln (' ':20,'3. Удаление по Номеру телефона');

writeln (' ':20,'4. Удаление по Наименованию услуги');

writeln (' ':20,'5. Удаление по Сумме оплаты');

writeln (' ':20,'6. Удаление по Сроку выполнения');

Write(' ':20,'Выберите действие: ');readln (k);

assign (fayl,nazvanie);reset(fayl);i:=1; n:=0;

while not eof(fayl) do begin

read(fayl,klient[i]);inc(i); inc(n); end;

case k of

1:begin //Удаление по ФИО

clrscr;Textcolor (11);

writeln (' ':15,'Удаление Записи по Заданному ФИО'); writeln;

writeln (' ':15,'Выберите тип Удаления по ФИО');

Textcolor (15);

writeln (' ':20,'1. Удаление по Фамилии');

writeln (' ':20,'2. Удаление по Имени');

writeln (' ':20,'3. Удаление по Отчеству');

Write(' ':20,'Выберите действие: ');readln (k);

if k=1 then begin //Удаление по Фамилии

clrscr;

write ('Введите Фамилию Клиента: '); readln (q);n1:=0;

for i:=1 to n do

if klient[i].familiy<>q then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;

if k=2 then begin //Удаление по Имени

clrscr;

write ('Введите Имя Клиента: '); readln (q);n1:=0;

for i:=1 to n do

if klient[i].imy<>q then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;

if k=3 then begin //Удаление по Отчеству

clrscr;

write ('Введите Отчество Клиента: '); readln (q);n1:=0;

for i:=1 to n do

if klient[i].otchestvo<>q then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;end;

2:begin //Удаление по Адресу

clrscr;Textcolor (11);

writeln (' ':15,'Удаление Записи по Заданному Адресу'); writeln;

writeln (' ':15,'Выберите тип Удаления по Адресу');

Textcolor (15);

writeln (' ':20,'1. Удаление по Городу');

writeln (' ':20,'2. Удаление по Улице');

writeln (' ':20,'3. Удаление по Дому');

writeln (' ':20,'4. Удаление по Квартире');

Write(' ':20,'Выберите действие: ');readln (k);

if k=1 then begin //Удаление по Городу

clrscr;

write ('Введите Город Клиента: '); readln (q);n1:=0;

for i:=1 to n do

if klient[i].gorod<>q then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;

if k=2 then begin //Удаление по Улице

clrscr;

write ('Введите Улицу Клиента: '); readln (q);n1:=0;

for i:=1 to n do

if klient[i].ulica<>q then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;

if k=3 then begin //Удаление по Дому

clrscr;

write ('Введите Дом Клиента: '); readln (b);n1:=0;

for i:=1 to n do

if klient[i].dom<>b then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;

if k=4 then begin //Удаление по Квартире

clrscr;

write ('Введите Квартиру Клиента: '); readln (q);n1:=0;

for i:=1 to n do

if klient[i].gorod<>q then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;end;

3:begin //Удаление по Номеру Телефона

clrscr;Textcolor (11);

writeln (' ':15,'Удаление Записи по Заданному Номеру Телефона'); writeln;Textcolor (15);

write ('Введите Номер Телефона Клиента: '); readln (b);n1:=0;

for i:=1 to n do

if klient[i].nomer<>b then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;

4:begin //Удаление по Наименнованию Услуги

udalenie_uslug;end;

5:begin //Удаление по Сумме Оплаты

clrscr;Textcolor (11);

writeln (' ':15,'Удаление Записи по Заданной Сумме Оплаты'); writeln;Textcolor (15);

write ('Введите Сумму Оплаты Клиента: '); readln (b);n1:=0;

for i:=1 to n do

if klient[i].summa<>b then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;

6:begin //Удаление по Сроку Выполнения

clrscr;Textcolor (11);

writeln (' ':15,'Удаление Записи по Заданному Сроку Выполнения'); writeln;

Textcolor (15);

write ('Введите Срок Выполнения Услуги: '); readln (b);n1:=0;

for i:=1 to n do

if klient[i].srok<>b then begin

n1:=n1+1;

klient2[n1]:=klient[i];end;end;end;

rewrite(fayl);

for i:=1 to n1 do

write(fayl,klient2[i]);end;

procedure sortirovka; //Сортировка

var i,j,k:integer; q:foto;

begin

clrscr;Textcolor (11);

writeln (' ':25,'Выберите тип Сортировки'); writeln;Textcolor (15);

writeln (' ':20,'1. Сортировка по ФИО');

writeln (' ':20,'2. Сортировка по Адресу');

writeln (' ':20,'3. Сортировка по Номеру телефона');

writeln (' ':20,'4. Сортировка по Наименованию услуги');

writeln (' ':20,'5. Сортировка по Сумме оплаты');

writeln (' ':20,'6. Сортировка по Сроку выполнения');

Write(' ':20,'Выберите действие: ');readln (k);

reset(fayl); i:=1;

while not eof(fayl) do begin

read(fayl,klient[i]);i:=i+1; n:=i-1; end;

case k of

1:begin //Сортировка по ФИО

clrscr;Textcolor (11);

writeln (' ':25,'Выберите поле Сортировки по ФИО'); writeln;Textcolor (15);

writeln (' ':20,'1. Сортировка по Фамилии');

writeln (' ':20,'2. Сортировка по Имени');

writeln (' ':20,'3. Сортировка по Отчеству');

Write(' ':20,'Выберите действие: ');readln (k);

if k=1 then begin //Сортировка по Фамилии

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].familiy>klient[j].familiy then begin

q:=klient[i];

klient[i]:=klient[j];

klient[j]:=q;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]); end;

if k=2 then begin //Сортировка по Имени

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].imy>klient[j].imy then begin

q:=klient[i];

klient[i]:=klient[j];

klient[j]:=q;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]); end;

if k=3 then begin //Сортировка по Отчеству

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].otchestvo>klient[j].otchestvo then begin

q:=klient[i];

klient[i]:=klient[j];

klient[j]:=q;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]); end;end;

2:begin //Сортировка по Адресу

clrscr;Textcolor (11);

writeln (' ':25,'Выберите поле Сортировки по ФИО'); writeln;Textcolor (15);

writeln (' ':20,'1. Сортировка по Городу');

writeln (' ':20,'2. Сортировка по Улице');

writeln (' ':20,'3. Сортировка по Дому');

writeln (' ':20,'4. Сортировка по Квартире');

Write(' ':20,'Выберите действие: ');readln (k);

if k=1 then begin //Сортировка по Городу

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].gorod>klient[j].gorod then begin

d:=klient[i];

klient[i]:=klient[j];

klient[j]:=d;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]); end;

if k=2 then begin //Сортировка по Улице

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].ulica>klient[j].ulica then begin

d:=klient[i];

klient[i]:=klient[j];

klient[j]:=d;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]); end;

if k=3 then begin //Сортировка по Дому

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].dom>klient[j].dom then begin

d:=klient[i];

klient[i]:=klient[j];

klient[j]:=d;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]); end;

if k=4 then begin //Сортировка по Квартире

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].kvartira>klient[j].kvartira then begin

d:=klient[i];

klient[i]:=klient[j];

klient[j]:=d;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]); end;end;

3:begin //Сортировка по Номеру телефона

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].nomer>klient[j].nomer then begin

q:=klient[i];

klient[i]:=klient[j];

klient[j]:=q;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]);end;

4:begin //Сортировка по Наименованию услуги

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].usluga>klient[j].usluga then begin

q:=klient[i];

klient[i]:=klient[j];

klient[j]:=q;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]);end;

5:begin //Сортировка по Сумме оплаты

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].summa>klient[j].summa then begin

q:=klient[i];

klient[i]:=klient[j];

klient[j]:=q;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]);end;

6:begin //Сортировка по Сроку выполнения

for i:=1 to n-1 do

for j:=i+1 to n do

if klient[i].srok>klient[j].srok then begin

q:=klient[i];

klient[i]:=klient[j];

klient[j]:=q;end;

rewrite(fayl);

for i:=1 to n do

write(fayl,klient[i]);end;end;end;

procedure new_vvod; //Создание таблицы

begin

clrscr;

writeln ('Введите количество Клиентов');readln (n);

for i:=1 to n do with klient[i] do begin clrscr;

write ('Введите Фамилию Клиента №',i,': '); readln (familiy);

write ('Введите Имя Клиента №',i,': '); readln(imy);

write ('Введите Отчество Клиента №',i,': '); readln (otchestvo);

write ('Введите Адрес Клиента №',i,': 1)Введите "Название Города": '); readln (gorod);

write (' ':15,'2)Введите "Название Улицы": '); readln (ulica);

write (' ':15,'3)Введите "Номер Дома"("Номер Дома"<999): '); readln (dom);

write (' ':15,'4)Введите "Номер Квартиры"("Номер Квартиры"<999): '); readln (kvartira);

write ('Введите Номер телефона (БЕЗ КОДА)Клиента №',i,': '); readln (nomer);

write ('Введите Наименование услуги для Клиента №',i,': '); readln (usluga);

write ('Введите Сумму оплаты Клиента №',i,': '); readln (summa);

write ('Введите Срок Выполнения Услуги для Клиента №',i,'(Количество дней): '); readln (srok);

write(fayl,klient[i]);end;end;

procedure new_vivod; //Вывод таблицы

var m,r:integer;

begin

clrscr; assign (fayl,nazvanie); reset(fayl);Textcolor (14); writeln;

Writeln (' ':20,'Таблица Клиентов "Услуг Фотоцентра" '); writeln; i:=0;Textcolor (10);

Writeln ('','--',#22,'-------------',#22,'---------------',#22,'---------',#22,'-----------------',#22,'--------',#22,'-------',#2);

Writeln (#5,'№ ',#5,' ФИО ',#5,' Адрес ',#5,' Номер ',#5,' Услуга ',#5,' Сумма ',#5,' Срок ',#5);

while not eof(fayl) do with d do begin

Writeln (#25,'--',#16,'-------------',#16,'---------------',#16,'---------',#16,'-----------------',#16,'--------',#16,'-------',#23);

delay (1000);read (fayl,d);inc(i);textcolor (15);

if srok>100 then //Начинаем склонять слова "День" под цифру "Срок"

m:=srok mod 100;

if (m>= 11) and (m<= 14) then

Writeln ('',' ','',familiy:13,'','г.':4,gorod:11,'',nomer:9,'',usluga:17,'',summa:8,'',srok:2,' дней','');

r:=srok mod 10;

case r of

0, 5 .. 9:Writeln ('',' ','',familiy:13,'','г.':4,gorod:11,'',nomer:9,'',usluga:17,'',summa:8,'',srok:2,' дней','');

1:Writeln ('',' ','',familiy:13,'','г.':4,gorod:11,'',nomer:9,'',usluga:17,'',summa:8,'',srok:2,' день','');

2..4:Writeln ('',' ','',familiy:13,'','г.':4,gorod:11,'',nomer:9,'',usluga:17,'',summa:8,'',srok:3,' дня','');end;

Writeln ('',i:2,'',imy:13,'','ул.':4,ulica:11,'',' ':9,'',' ':17,'',' ':8,'',' ':7,'');

Writeln ('',' ','',otchestvo:13,'','д.':5,dom:3,'кв.':4,kvartira:3,'',' ':9,'',' ':17,'',' ':8,'',' ':7,'');end;

Writeln (#3,'--',#21,'-------------',#21,'---------------',#21,'---------',#21,'-----------------',#21,'--------',#21,'-------',#4);

write ('Что-бы вернуться в "Меню" и Записать Таблицу в файл нажмите <ENTER> ');

readln;end;

begin// Тело основной программы

Textbackground (1);Textcolor (15);

writeln (' ':25,'Создание базы Клиентов'); //Меню программы (1 Уровень)

writeln (' ':20,'1. Выбрать уже созданный файл: ');

writeln (' ':20,'2. Создать новый файл');

writeln (' ':20,'3. Выход');

write(' ':20,'Выберите действие: ');readln (a);

case a of

1:otkritie; 2:sozdanie;3:exit;end;

while true do

begin //Меню программы (2 Уровень)

clrscr;

Textbackground (1);Textcolor (14);

writeln(' ':15,'Информационно-поисковая система "Услуги фотоцентра"');

Textcolor (11);

Writeln('Меню':40);

Textcolor (15);

Writeln(' ':20,'1. Добавление клиента');

Writeln(' ':20,'2. Просмотр таблицы');

writeln(' ':20,'3. Удаление записи по заданному атрибуту');

writeln(' ':20,'4. Удаление всех записей по заданной услуге');

writeln(' ':20,'5. Замена номера телефона для заданной услуги');

writeln(' ':20,'6. Вывод сведений об оплате по заданной услуге');

Writeln(' ':20,'7. Поиск');

Writeln(' ':20,'8. Сортировка');

Writeln(' ':20,'9. Выход');

Write(' ':20,'Выберите действие: '); Readln(v);

case v of

1:begin new_vvod;sohranenie_txt;end; 2:new_vivod;3:begin udalenie_zapisi;sohranenie_txt;end;4:begin udalenie_uslug;sohranenie_txt;end;

5:begin zamena;sohranenie_txt;end;6:begin zadan_uslug;sohranenie_txt;end;7:poisk; 8:begin sortirovka;sohranenie_txt;end;9:exit;

end;end;end.

ПРИЛОЖЕНИЕ Б

Блок-схема

Размещено на Allbest.ru


Подобные документы

  • Совместимость и преобразование типов данных. Создание информационно-поисковой системы на языке программирования Паскаль. Описание интерфейса, каждого блока программы "Картотека больных". Рассмотрение результатов работы программы, сортирования данных.

    курсовая работа [368,9 K], добавлен 18.05.2015

  • Изучение символьных и строковых типов данных, алгоритма задачи на языке программирования Паскаль. Описания получения и установки отдельного символа строки, изменения регистра символов. Анализ создания и просмотра файла, поиска и сортировки информации.

    курсовая работа [440,7 K], добавлен 13.06.2011

  • Приобретение теоретических и практических навыков программирования на языке Паскаль. Математическая формулировка задачи и выбор метода обработки информации. Разработка алгоритма и его описание. Описание программы. Форма представления исходных данных.

    курсовая работа [224,3 K], добавлен 11.02.2016

  • Разработка программных продуктов на языке программирования Borland Delphi. Применяемые таблицы и связи между ними. Пользовательский интерфейс работы с базой данных. Алгоритм работы программы "Футбольные команды и игроки". Защита от ввода неверных данных.

    курсовая работа [788,1 K], добавлен 22.06.2011

  • Программа перенесения данных из таблицы Word в таблицу базы данных. Алгоритм решения задачи в виде текстового описания. Описание базы данных (структура таблиц, схема). Копии с экрана форм для работы с базой данных при разработке их в конструкторе.

    контрольная работа [914,3 K], добавлен 26.03.2011

  • Автоматизация типовой банковской услуги "Ипотечное кредитование". Анализ организационной структуры банка. Обоснование необходимости проектирования информационной системы. Описание процедуры, разработка сценария. Схема данных, разработка базы данных.

    курсовая работа [4,4 M], добавлен 08.06.2012

  • Общая характеристика языка программирования Турбо Паскаль: операторы, циклы, файлы. Процедуры и функции модуля Crt. Структурная и функциональная схема программы учета учащихся, таблица идентификаторов. Список и описание использованных подпрограмм.

    курсовая работа [702,9 K], добавлен 29.01.2011

  • Разработка программы для работы с базой данных "Библиотека" в среде Borland C++Builder 6 на языке программирования C++ с использованием визуальных средств. Структура информации, подключение к ней и ее отображение. Описание пользовательского интерфейса.

    курсовая работа [1,5 M], добавлен 19.05.2014

  • Реляционная модель базы данных в текстовом виде. Код, с помощью которого были созданы и заполнены таблицы. Разработка схемы базы данных справочника селекционера. Создание запросов, их основные виды. Процедуры на выбор данных, добавление и удаление.

    методичка [1,1 M], добавлен 20.05.2014

  • Разработка информационной системы, выбор языка программирования, физическое описание базы данных, выбор типа и описание таблиц базы данных. Техническое проектирование, ограничения и значения по умолчанию, представления, хранимые процедуры и триггеры.

    курсовая работа [519,8 K], добавлен 25.05.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.