Смекни!
smekni.com

Волжскийуниверситетимени В.Н. Татищева


Кафедра«Информатикаи системы управления»


Специальность:220100 «Вычислительныемашины, комплексысистемы и сети»

Задание

накурсовой проектпо дисциплине

«Основытехнологиипрограммирования»

Студенту________________________________________________________

Группа__________________________________________________________

Темапроекта____________________________________________________

Календарныйграфикзадания_______________________________________


Содержаниезадания

При продажебилетов регистрируютпассажиров.

Информациюо каждом пассажиревводится вдиалоге позапросам программы.

Информацияо каждом пассажиресостоит изследующих полей:

-Фамилия,имя, отчество;

-Номерпаспорта;

-Пунктназначения;

-Номеррейса.

Сведенияо пассажирахсохраняютсяв файле airbase.dat,состоящем из

отдельныхзаписей ,гдеодна записьхранит всюинформациюоб одном пассажире.

Программасодержит следующиепроцедуры ифункции;

-Продажабилета (регистрируетнового пассажира);

-Найтипассажира;

-Удалитьпассажира;

-Выход;

Указанныепроцедуры ифункции выбираютсяиз меню.

В пунктеПРОДАЖА БИЛЕТА- вводится Ф.И.О, номер паспорта, рейс, т.е регистрируетсяновый

пассажир, информацияо нем вноситсяв базу данных.

В пунктеНАЙТИ - выводитсяинформацияо пассажире.

В пунктеУДАЛИТЬ ПАССАЖИРА- по введеннойФ.И.О информацияо данном пассажиреудаляется избазы данных.

ВЫХОД -выход из программы.


Руководителькурсовой работы

Студент

Составитель:

Старшийпреподаватель___________________________АхмедханлыД.М.

Заведующийкафедрой ИиСУ__________________________КрасновС.В.

ДеканФииТ_________________________________________КрасновС.В.


Описаниепредметнойобласти


Ввод данныхв программуосуществляетсяв диалоге позапросам программы.Оператор программыпередвигаетсяпо пунктам менюи инициируетзапуск той илииной процедурынажатием клавиш“Enter”,“стрелка вверх”,”стрелка вниз”.

Программаначинаетсяс вывода менюна экран, менюсостоит

Меню состоитиз семи пунктов,расположенныхв следующейпоследовательности:

  • ОФОРМЛЕНИЕНОГОГО ПАССАЖИРА

  • ВЫВЕСТИСПИСОК ВСЕХПАССАЖИРОВ

  • УДАЛИТЬИНФОРМАЦИЮО ПАССАЖИРЕ

  • НАЙТИПАССАЖИРА

  • ОЧИСТИТЬСПИСОК

  • ВЫХОД


Употреблениепроцедур пунктовменю.

Процедура“ВЫВЕСТИСПИСОК ВСЕХПАССАЖИРОВ”используется для просмотравсех пассажироввсех рейсов.

Процедура“УДАЛИТЬИНФОРМАЦИЮО ПАССАЖИРЕ”используетсядля удаленияпассажира.Сначала вводится фамилия пассажира,которого необходимоудалить, фамилиявводиться склавиатуры.Если такая фамилия есть,то программаспрашиваетподтверждениедля удаления“Пассажирнайден, удалитьего д/н” еслибудет нажатаклавиша “д”,то пассажирбудет удалениз базы данных,если же “н”,то удалениебудет отменено.

Процедура“НАЙТИПАССАЖИРА”используетсядля удобствапоиска пассажира.Фамилия вводится с клавиатуры.При нахождениифамилии пассажиравыводятся егоданные: фамилия,номер паспорта,номер рейсаи направление.При не нахождениифамилии выводитсяна экран сообщение“Пассажиротсутствует!”.

Процедура“ОЧИСТИТЬСПИСОК”удаляет всефамилии изсписка. Привходе в этупроцедурупоявляетсясообщение “Выдействительнохотите удалитьбазу данныхо пассажирах(д/н)”, если будетнажата клавиша“д”, то базаданных будетудалена, если же “н”, то удалениебудет отменено.


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

Сначала,подключаеммодуль crt-позволяющийпроще управлятьрежимами экрана,расширеннымикодами клавиатурыи цветом.

Вводимконстанты stand– цвет невыделенногопункта менюи sel– цвет выделенногопункта меню,а так же n– количествопунктов.

Затемидет описаниезаписей файла«train.dat.»:pas,nomertown–переменныеФ.И.О пассажираи номер – направлениепоезда, имеющиестроковый тип,pasp,nomertrain– переменныеномера паспортаи номера поезда,имеющие целыйтип.

Теперьидёт описание записей файла«railst.dat»:time,model, nrnap– время отхода,тип поезда,номер – направление,price,chpm– цена билета,число посадочныхмест.

Глобальныепеременные:массивы menu,menu1строковоготипа с количествомэлементов от1 до n,хранят названияпунктов менюи подменю; переменнаяцелого типаpunktобозначаетномер выделенногопункта; символьнаяпеременнаяch выведенныйсимвол; xи yцелого типа- координатыпервой строкименю; j,j1- параметрыцикла; ffи w файловые переменные «airport.dat»и «airbase.dat»соответственно,аналогичноbufи buv– переменныекомпонентфайлов;dlprov,nrnap– переменнаяпроверки иномер - направление;mas,mas1– массивы для“tairport.dat”,“airbase.dat”;символьнаяпеременнаяkопределяетусловия да/нетв операторахif…then…else; f–флажок.

Программасодержит 14 процедур.


Две из них«menutoscr»и «menutoscrотвечают завывод меню иподменю наэкран. Процедурысодержат описанияодной локальнойпеременнойiпараметрацикла. Начинаютсяпроцедуры сочистки экрана– clrscr.Далее идет циклfor…to…do,выводящий менюна экран.

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

Вводимпеременнуюtextattr, которая отвечаетза цвет фонаи символов.Присваиваемей значениеконстанты 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…untilch=chr(27)(до обращенияк пункту «Выход»).

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

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


Приложения

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


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


programkursovik;

usescrt;

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;

mas1:array[1..50]of airbase;

punkt:integer;номервыделенногопункта

ch:char;введенныйсимвол

j,j1:integer;переменнаясодержащаяобщее числопассажиров,

числорейсов

x,y,n1:integer;координатыпервой строкименю

procedureMenutoscr;вывод менюна экран

vari:integer;

begin

punkt:=1;

clrscr;

fori:=1 to n do

begin

gotoxy(x,y+i);

writeln(menu[i+1]);

end;

textattr-предопределеннаяпеременная,отвечающаяза цвет фона

и символов

textattr:=sel;

gotoxy(x,y+punkt-1);

write(menu[punkt]);выделим строкуменю

textattr:=norm;

end;

procedureMenutoscr1;вывод менюна экран

vari:integer;

begin

punkt:=1;

clrscr;

fori:=1 to n1 do

begin

gotoxy(x,y+i);

writeln(menu1[i+1]);

end;

textattr-предопределеннаяпеременная,отвечающаяза цвет фона

и символов

textattr:=sel;

gotoxy(x,y+punkt-1);

write(menu1[punkt]);выделим строкуменю

textattr:=norm;

end;

procedurenew_pass;

var

ff:fileof airport;

buf:airport;

ch,k:char;

begin

clrscr;

assign(ff,'airport.dat');

reset(ff);

seek(ff,filesize(ff));

writeln(' "Оформлениенового пассажира"');

writeln(' Введитефио--------------');

writeln(' Введите номерпаспорта---');

writeln(' Введите пунктназначения-');

writeln(' Введите номеррейса------');

writeln(' Подтверждениед/н--------');

withbuf do

begin

gotoxy(29,2);readln(fio);

gotoxy(29,3);readln(pasp);

gotoxy(29,4);readln(city);

gotoxy(29,5);readln(nomerreisa);

end;

gotoxy(29,6);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;

procedureprint_pass;

var

ff:fileof airport;

buf:airport;

ch,k:char;

et:integer;

begin

clrscr;

assign(ff,'airport.dat');

reset(ff);

writeln(' Список пассажиров:');

et:=1;

repeat

read(ff,buf);

writeln(' -',buf.fio);

ifet=23 then readln;

et:=et+1;

untileof(ff);

close(ff);

readln;

end;

proceduremaspas;

var

buf:airport;

ff:fileof airport;

begin

assign(ff,'airport.dat');

reset(ff);

j:=1;

repeat

read(ff,buf);

mas[j]:=buf;

j:=j+1;

untileof(ff);

j:=j-1;

close(ff);

end;

proceduredelete_pass;

var

ff:fileof airport;

i,i1,f:integer;

buf:airport;

k:char;

name:string[30];

begin

clrscr;

writeln(' Удалениeинформациио пассажире:');

writeln(' Введите Ф.И.О.пассажира,которого хотитеудалить из базыданных');

write(' -');readln(name);

i:=1;

f:=0;

repeat

ifmas[i].fio=name then

begin

gotoxy(30,12);write('Пассажирнайден, удалитьего (д/н)-');

readln(k);

if(k='д') or (k='Д') then

begin

fori1:=i to j-1 do

mas[i1]:=mas[i1+1];

j:=j-1;

gotoxy(30,12);

write('Пассажир-"',name,'"-былудалён!');

f:=1;

end

else

begin

i:=j;

f:=2;

end;

end;

i:=i+1;

until(i=j+1) or (f=1);

iff=1 then

begin

assign(ff,'airport.dat');

rewrite(ff);

i:=1;

repeat

buf:=mas[i];

write(ff,buf);

i:=i+1;

untili=j+1;

close(ff);

end

else

begin

gotoxy(30,12);

iff=0 then writeln('Пассажирне найден!');

end;

iff=2 then writeln('Удалениеотменено!');

delay(9999);

delay(5000);

end;

proceduresearch_pass;

var

ff:fileof 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);

ifbuf.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;

untileof(ff);

close(ff);

iff=0 then

begin

writeln('Пассажирне найден!');

delay(9999);

delay(5000);

end;

end;

procedurenew_airport;

var

ff:fileof 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;

procedurenew_reis;

var

ff:fileof 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(' Подтверждениед/н--------');

withbuf 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;

procedureprint_reis;

var

ff:fileof 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;

untileof(ff);

close(ff);

readln;

end;

proceduremasbase;

var

buf:airbase;

ff:fileof airbase;

begin

assign(ff,'airbase.dat');

reset(ff);

j1:=1;

repeat

read(ff,buf);

mas1[j1]:=buf;

j1:=j1+1;

untileof(ff);

j1:=j1-1;

close(ff);

end;

proceduredelete_base;

var

ff:fileof 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

fori1:=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);

iff=1 then

begin

assign(ff,'airbase.dat');

rewrite(ff);

i:=1;

repeat

buf:=mas1[i];

write(ff,buf);

i:=i+1;

untili=j1+1;

close(ff);

end

else

begin

gotoxy(30,12);

iff=0 then writeln('Рейс ненайден!');

end;

iff=2 then writeln('Удалениеотменено!');

delay(9999);

delay(5000);

end;

proceduresearch_base;

var

ff:fileof 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);

ifbuf.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;

untileof(ff);

close(ff);

iff=0 then

begin

writeln('Рейсне найден!');

delay(9999);

delay(5000);

end;

end;

procedurenew_base;

var

ff:fileof 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;

ifch=chr(0) then

begin

ch:=ReadKey;

casech of

chr(80):стрелка вниз

ifpunkt

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;

chr(72): стрелка вверх

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

ifch=chr(13) then нажата клавиша

begin

casepunkt 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

beginch:=ReadKey; case ch of

chr(80):стрелка внизif punkt

chr(72):стрелка вверх

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

ifch=chr(13) then нажата клавиша

begin

casepunkt 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




Продажабилетов

Вывестисписок всехпассажиров

Удалитьинформациюо пассажире

Найтипассажира

Очиститьсписок

Выход


Выдействительнохотите очиститьбазу данныхо пассажирах(д/н)?-Д

Базаданных о пассажирахочищена!


Областьприменения:

Этапрограммаиспользуетсяв кассе Аэропорта,для упрощённойработы с пассажирамии рейсами.


Списокиспользуемойлитературы:

TurboPascal7.0 (Старший курс).Автор: Фигурнов.В.Э.

Шагза шагом TurboPascal7.0 начальныйкурс. Автор:QUA.

Лекции поПаскалю.



СОДЕРЖАНИЕ:


Cодержаниезадания.

Описаниепредметнойобласти.

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

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

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

Областьприменения.

Списокиспользуемойлитературы.