Касса аэропорта
Реферат - Компьютеры, программирование
Другие рефераты по предмету Компьютеры, программирование
?вечает за цвет фона и символов. Присваиваем ей значение константы 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;<