Касса аэропорта

Реферат - Компьютеры, программирование

Другие рефераты по предмету Компьютеры, программирование

?вечает за цвет фона и символов. Присваиваем ей значение константы sel, то есть задаем цвет выделенного пункта и переводим курсор на текущий пункт. Выделяем его и задаем цвет невыделенного пункта.

 

Процедура new_pass вводит нового пассажира. Начинаем процедуру с описания локальных переменных. Обнуляем локальный флажок mozno, потом происходит очистка экрана clrscr. Открываем для записи данных нового пассажира файл airport.dat. Здесь вводиться: Ф.И.О, номер паспорта.

 

Процедура maspas - Предназначена для формирования из пассажиров массива, для последующего их удаления. Открываем уже существующий файл train.dat Присваиваем переменной j-1. А в цикле постусловия repeat…until формируем из пассажиров массив, который нужен для удаления пассажиров.

 

Процедура delete_pass начинается с очистки экрана clrscr, обнуляем флажок. Потом вводится фамилия, которую нужно удалить. В цикле repeat…until оператор условия if…then выполняется (пассажир найден), то происходит удаление пассажира, если пассажир был успешно удалён, то появляется сообщение- “Пассажир”----” был удалён!” и флажку присваивается 1. Иначе присваивается-2. В следующем if…then файл обновляется, и массив без пассажира записывается в файл. Далее создаётся новый файл с этим же именем. В цикле с постусловием repeat…until переменной buf присваивается i тое значение элемента массива. Файл закрывается.

Когда флажок не равняется 1, то в цикле if…then печатается сообщение “Пассажир не найден!”. Если же флажок равняется 2, то печатается сообщение ”Удаление отменено!”.Delay - используется для задержки сообщения об удалении.

 

Процедура search_pass предназначена для поиска пассажира в базе данных. Начинаем процедуру с описания локальных переменных, потом происходит очистка экрана clrscr. Используем оператор reset для открытия уже существующего файла. В цикле repeat…until читается информация. В условном операторе if… then читается введённые Ф.И.О, и распечатываются данные о конкретном пассажире (т.е. Ф.И.О, ном. паспорта, ном. рейса - пункт назначения). Закрываем файл. После этого флажку присваивается значение-1. Если флажок равняется -0 , то печатается сообщение “Пассажир не найден!”

 

Процедура new_airbase производит полную очистку базы данных о пассажирах. Начинаем процедуру с очистки экрана clrscr. В операторе if…then задаём условие очистки базы данных. Выводим сообщение “Вы действительно хотите очистить базу данных о пассажирах (д/н)?-”. Соответственно, переменной k присваивается одно из значений д или н. При k= д, с помощью процедур rewrite, данные в файлах удаляются. В противном случае выход из процедуры. После этого выводится ее на экран сообщение- “База Аэропорта очищена!”.

 

Процедура search_base предназначена для поиска рейса в базе данных. Начинаем процедуру с очистки экрана clrscr. Вводится номер рейса и направление через тире. Используем оператор reset для открытия уже существующего файла. В цикле repeat…until читается информация. В условном операторе if… then читается введённый номер рейса и направление, и распечатываются данные об рейсе (т.е номер рейса - направление, время отхода, цена билета (в руб.), тип поезда). Закрываем файл. После этого флажку присваивается значение-1. Если флажок равняется -0 , то печатается сообщение “Рейс не найден!”

 

Процедура new_base производит полную очистку базы данных о рейсах. Начинаем процедуру с очистки экрана clrscr. В операторе if…then задаём условие очистки базы данных о рейсах. Выводим сообщение “Вы действительно хотите очистить базу данных расписания (д/н)?-“. Соответственно, переменной k присваивается одно из значений д или н. При k= д, с помощью процедур rewrite, данные в файлах удаляются. В противном случае выход из процедуры. После этого выводится ее на экран сообщение- “База расписания Аэропорта очищена!”.

Основная программа так же начинается с очистки экрана clrscr. Определяем имена файлов Airport.dat, Airbase.dat и связываем их с файловыми переменными процедурой assign.

Задаём названия пунктов меню. Переменной номера выделенного пункта присваиваем значение единицы. Определяем координаты первой строки меню. Переменной цвета символов и фона присваиваем значение невыделенного пункта. Обращаемся к процедуре menutoscr. Входим в цикл передвижения по меню repeat…until ch=chr(27) (до обращения к пункту Выход).

В цикле считываем код нажатой клавиши. С помощью условного оператора входим в оператор выбора кодов клавиш. Если нажата стрелка вниз, то с помощью процедуры gotoxy, оператора write, констант sel и stand выделяем необходимый пункт меню. Аналогичные операции проводим при нажатии стрелки вверх. При нажатии Enter в операторе выбора открывается процедура необходимого пункта. В конце цикла обращаемся к процедуре Menutoscr. Аналогичные операции выполняются и для процедуры Menutoscr1.

В конце программы закрываем файлы Airport.dat и Airbase.dat.

 

 

 

 

 

 

 

 

 

 

 

 

Приложения

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

 

 

Распечатка результатов решения задачи по данным контрольного примера

 

 

program kursovik;

uses crt;

type

airport=record

fio,city:string[30];

pasp,nomerreisa:string[6];

end;

airbase=record

time,model,kuda:string[15];

price,klass,numreis:integer;

end;

const

norm=$20;цвет невыделенного пункта

sel=$50; цвет выделенного пункта

n=7;

var

menu,menu1:array[1..n] of string[30]; название пунктов меню

mas:array[1..50] of airport;<