Касса аэропорта
end
else
begin
gotoxy(30,12);
if f=0 then writeln('Пассажир не найден! ');
end;
if f=2 then writeln('Удаление отменено! ');
delay(9999);
delay(5000);
end;
procedure search_pass;
var
ff:file of airport;
i,i1,f:integer;
buf:airport;
k:char;
name:string[30];
begin
clrscr;
writeln(' Поиск информации о пассажире:');
writeln(' Введите Ф.И.О. пассажира, которого хотите найти');
write(' -');readln(name);
i:=1;
f:=0;
assign(ff,'airport.dat');
reset(ff);
repeat
read(ff,buf);
if buf.fio=name then
begin
clrscr;
writeln(' Информация о пассажире:');
writeln(' Ф.И.О.-----------');
writeln(' Номер паспорта---');
writeln(' Пункт назначения-');
writeln(' Номер рейса------');
gotoxy(22,2);writeln(buf.fio);
gotoxy(22,3);writeln(buf.pasp);
gotoxy(22,4);writeln(buf.city);
gotoxy(22,5);writeln(buf.nomerreisa);
f:=1;
readln;
end;
until eof(ff);
close(ff);
if f=0 then
begin
writeln('Пассажир не найден!');
delay(9999);
delay(5000);
end;
end;
procedure new_airport;
var
ff:file of airport;
k:char;
begin
clrscr;
gotoxy(36,12);
textbackground(red);
textcolor(blink);
writeln('ВНИМАНИЕ!');
textattr:=norm;
gotoxy(10,13);
write('Вы действительно хотите очистить базу данных о пассажирах
(д/н)?-');
readln(k);
if (k='д') or (k='Д') then
begin
clrscr;
assign(ff,'airport.dat');
rewrite(ff);
gotoxy(30,12);
writeln('База АЭРОПОРТА очищена!');
close(ff);
delay(9999);
delay(5000);
end;
end;
procedure new_reis;
var
ff:file of airbase;
buf:airbase;
ch,k:char;
begin
clrscr;
assign(ff,'airbase.dat');
reset(ff);
seek(ff,filesize(ff));
writeln(' "Расписание вылетов:"');
writeln(' Номер рейса--------------');
writeln(' Направление--------------');
writeln(' Время вылета(моск)-------');
writeln(' Цена билета(руб)---------');
writeln(' Тип самолета-------------');
writeln(' Класс(1 или 2)-----------');
writeln(' Подтверждение д/н--------');
with buf do
begin
gotoxy(29,2);readln(numreis);
gotoxy(29,3);readln(kuda);
gotoxy(29,4);readln(time);
gotoxy(29,5);readln(price);
gotoxy(29,6);readln(model);
gotoxy(29,7);readln(klass);
end;
gotoxy(29,8);readln(k);
if (k='д') or (k='Д') then
begin
clrscr;
write(ff,buf);
gotoxy(30,12);
write('Рейс записан в базу
данных!');
end
else
begin
clrscr;
gotoxy(30,12);
write('Запись в базу отменена!');
end;
delay(9999);
delay(5000);
until (ch=chr(162)) and (ch=chr(130));
close(ff);
end;
procedure print_reis;
var
ff:file of airbase;
buf:airbase;
ch,k:char;
et:integer;
begin
clrscr;
assign(ff,'airbase.dat');
reset(ff);
writeln(' Расписание вылетов(время московское):');
et:=1;
repeat
read(ff,buf);
writeln(' Рейс-',buf.numreis,': Самара-',buf.kuda,'; ',buf.time,';
Стоимость билета:',buf.price,'(рублей)'); if et=23 then readln;
et:=et+1;
until eof(ff);
close(ff);
readln;
end;
procedure masbase;
var
buf:airbase;
ff:file of airbase;
begin
assign(ff,'airbase.dat');
reset(ff);
j1:=1;
repeat
read(ff,buf);
mas1[j1]:=buf;
j1:=j1+1;
until eof(ff);
j1:=j1-1;
close(ff);
end;
procedure delete_base;
var
ff:file of airbase;
i,i1,f:integer;
buf:airbase;
k:char;
nreis:integer;
begin
clrscr;
writeln(' Удаление рейса из расписания:');
writeln(' Введите номер рейса,который хотите удалить из
расписания');
write(' -');readln(nreis);
i:=1;
f:=0;
repeat
if (mas1[i].numreis=nreis) then
begin
gotoxy(30,12);write('Рейс найден, удалить его (д/н)-
');
readln(k);
if (k='д') or (k='Д') then
begin
for i1:=i to j1-1 do
mas1[i1]:=mas1[i1+1];
j1:=j1-1;
gotoxy(30,12);
write('Рейс номер-"',nreis,'"-
был удалён! ');
f:=1;
end
else
begin
i:=j;
f:=2;
end;
end;
i:=i+1;
until (i=j1+1) or (f=1);
if f=1 then
begin
assign(ff,'airbase.dat');
rewrite(ff);
i:=1;
repeat
buf:=mas1[i];
write(ff,buf);
i:=i+1;
until i=j1+1;
close(ff);
end
else
begin
gotoxy(30,12);
if f=0 then writeln('Рейс не найден! ');
end;
if f=2 then writeln('Удаление отменено! ');
delay(9999);
delay(5000);
end;
procedure search_base;
var
ff:file of airbase;
i,i1,f:integer;
buf:airbase;
k:char;
nreis:integer;
begin
clrscr;
writeln(' Поиск рейса в расписании:');
writeln(' Введите номер рейса, который хотите найти');
write(' -');readln(nreis);
i:=1;
f:=0;
assign(ff,'airbase.dat');
reset(ff);
repeat
read(ff,buf);
if buf.numreis=nreis then
begin
clrscr;
writeln(' Номер рейса--------------');
writeln(' Направление--------------');
writeln(' Время вылета(моск)-------');
writeln(' Цена билета(руб)---------');
writeln(' Тип самолета-------------');
writeln(' Класс(1 или 2)-----------');
gotoxy(29,1);writeln(buf.numreis);
gotoxy(29,2);writeln(buf.kuda);
gotoxy(29,3);writeln(buf.time);
gotoxy(29,4);writeln(buf.price);
gotoxy(29,5);writeln(buf.model);
gotoxy(29,6);writeln(buf.klass);
f:=1;
readln;
end;
until eof(ff);
close(ff);
if f=0 then
begin
writeln('Рейс не найден!');
delay(9999);
delay(5000);
end;
end;
procedure new_base;
var
ff:file of airbase;
k:char;
begin
clrscr;
gotoxy(36,12);
textbackground(red);
textcolor(blink);
writeln('ВНИМАНИЕ!');
textattr:=norm;
gotoxy(10,13);
write('Вы действительно хотите очистить базу данных расписания
(д/н)?-');
readln(k);
if (k='д') or (k='Д') then
begin
clrscr;
assign(ff,'airbase.dat');
rewrite(ff);
gotoxy(30,12);
writeln('База расписания АЭРОПОРТА очищена!');
close(ff);
delay(9999);
delay(5000);
end;
end;
основная программа
Begin clrscr;
menu[1]:='ОФОРМЛЕНИЕ НОВОГО ПАССАЖИРА';
menu[2]:='ВЫВЕСТИ СПИСОК ПАССАЖИРОВ';
menu[3]:='УДАЛИТЬ ИНФОРМАЦИЮ О ПАССАЖИРЕ';
menu[4]:='НАЙТИ ПАССАЖИРА';
menu[5]:='ОЧИСТИТЬ СПИСОК';
menu[6]:='ВЫХОД';
menu[7]:='ПРОСМОТР БАЗЫ';
menu1[1]:='ЗАПИСЬ НОВОГО РЕЙСА';
menu1[2]:='ПОКАЗАТЬ РАСПИСАНИЕ';
menu1[3]:='УДАЛИТЬ РЕЙС';
menu1[4]:='ПОИСК РЕЙСА';
menu1[5]:='ОЧИСТИТЬ РАСПИСАНИЕ';
menu1[6]:='ВЕРНУТЬСЯ В ГЛАВНОЕ МЕНЮ';
punkt:=1;x:=30;y:=8;textattr:=norm;n1:=6;
Menutoscr; repeat
ch:=Readkey;
if ch=chr(0) then
begin
ch:=ReadKey;
case ch of
chr(80): стрелка вниз
if punkt1) then begin
gotoxy(x,y+punkt-1);
write(menu[punkt]);
punkt:=punkt-1;
textattr:=sel;
gotoxy(x,y+punkt-1);
write(menu[punkt]);
textattr:=norm;
end;
end; case of
end
else
if ch=chr(13) then нажата клавиша
begin
case punkt of
1:new_pass;
2:print_pass;
3:
begin
maspas;
delete_pass;
end;
4:search_pass;
5:new_airport;
6:ch:=chr(27);
7:begin
Menutoscr1; repeat ch:=Readkey; if ch=chr(0) then
begin ch:=ReadKey; case ch of
chr(80): стрелка вниз if punkt1)
then
begin
gotoxy(x,y+punkt-1);
write(menu1[punkt]);
punkt:=punkt-1;
textattr:=sel;
gotoxy(x,y+punkt-1);
write(menu1[punkt]);
textattr:=norm;
end;
end; case of
end
else
if ch=chr(13) then нажата клавиша
begin
case punkt of
1:new_reis;
2:print_reis;
3:
begin
masbase;
delete_base;
end;
4:search_base;
5:new_base;
6:ch:=chr(162);
end; case of
menutoscr1;
end;
until (ch=chr(27)) or (ch=chr(162))
or(ch=chr(130));27код
end; case of
end;
Menutoscr; end;
until ch=chr(27);27код
End.
Оформление нового пассажира
Продажа билетов
Вывести список всех пассажиров
Удалить информацию о пассажире
Найти пассажира
Очистить список
Выход
Продажа билетов
Расписание отходов поездов:
{ВЫВОДИТ РАСПИСАНИЕ}
“Оформление нового пассажира”
|Ведите Ф. | Пенкин И.В. |Петров П.П |Иванов И.И. |
|И. О | | | |
|Номер |564743 |812763 | 247398 |
|паспорта | | | |
|Рейс |123 |456 |789 |
|Подтверждени|Д |Д |Д |
|е д/н | | | |
| | | | |
Замечание: Пассажиров необходимо вводить по очереди.
Вывести список всех пассажиров
Продажа билетов
Вывести список всех пассажиров
Удалить информацию о пассажире
Найти пассажира
Очистить список
Выход
|Ф. И. О. |
|Пенкин И.В. |
|Петров П.П. |
|Иванов И.И. |
Удалить информацию о пассажире
Продажа билетов
Вывести список всех пассажиров
Удалить информацию о пассажире
Найти пассажира
Очистить список
Выход
Введите Ф.И.О пассажира, которого хотите удалить:
Пенкин И.В.
Список пассажиров после удаления:
|Ф. И. О. |Петров |Иванов |
| |П.П. |И.И |
|Номер |812763 | 247398 |
|паспорта | | |
|Номер рейса |999 |333 |
|Подтверждени|Д |Д |
|е д/н | | |
| | | |
Продажа билетов
Вывести список всех пассажиров
Удалить информацию о пассажире
Найти пассажира
Очистить список
Выход
Введите Ф.И.О. ,которого хотите найти:
Иванов И.И
Информация о пассажире:
|Ф. И. О. |Иванов И.И |
|Номер | 247398 |
|паспорта | |
|Номер рейса |333 |
| | |
Продажа билетов
Вывести список всех пассажиров
Удалить информацию о пассажире
Найти пассажира
Очистить список
Выход
Вы действительно хотите очистить базу данных о пассажирах(д/н)?-Д
База данных о пассажирах очищена!
Область применения:
Эта программа используется в кассе Аэропорта, для упрощённой работы с
пассажирами и рейсами.
Список используемой литературы:
Turbo Pascal 7.0 (Старший курс). Автор: Фигурнов. В.Э.
Шаг за шагом Turbo Pascal 7.0 начальный курс. Автор :QUA (.
Лекции по Паскалю.
Страницы: 1, 2
|