Реферат по предмету "Компьютеры и цифровые устройства"


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

СОДЕРЖАНИЕ Cодержание задания. Описание предметной области. Описание алгоритма задачи. Листинг программы. Распечатка результатов решения задачи по данным контрольного примера. Область применения. Список используемой литературы. Волжский университет имени В.Н. Татищева Кафедра Информатика и системы управления Специальность 220100 Вычислительные машины, комплексы системы и сети

Задание на курсовой проект по дисциплине Основы технологии программирования Студенту Группа Тема проекта Календарный график задания Содержание задания При продаже билетов регистрируют пассажиров. Информацию о каждом пассажире вводится в диалоге по запросам программы. Информация о каждом пассажире состоит из следующих полей -

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

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

ВЫХОД - выход из программы. Руководитель курсовой работы Студент Составитель Старший преподаватель Ахмедханлы Д.М. Заведующий кафедрой ИиСУ Краснов С.В. Декан ФииТ Краснов С.В. Описание предметной области Ввод данных в программу осуществляется в диалоге по запросам программы. Оператор программы передвигается по пунктам меню и инициирует запуск той или иной процедуры

нажатием клавиш Enter, стрелка вверх, стрелка вниз. Программа начинается с вывода меню на экран, меню состоит Меню состоит из семи пунктов, расположенных в следующей последовательности ОФОРМЛЕНИЕ НОГОГО ПАССАЖИРА ВЫВЕСТИ СПИСОК ВСЕХ ПАССАЖИРОВ УДАЛИТЬ ИНФОРМАЦИЮ О ПАССАЖИРЕ НАЙТИ ПАССАЖИРА ОЧИСТИТЬ

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

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

Пассажир отсутствует. Процедура ОЧИСТИТЬ СПИСОК удаляет все фамилии из списка. При входе в эту процедуру появляется сообщение Вы действительно хотите удалить базу данных о пассажирах дн, если будет нажата клавиша д, то база данных будет удалена, если же н, то удаление будет отменено. Описание алгоритма задачи Сначала, подключаем модуль crt- позволяющий проще управлять режимами экрана, расширенными кодами клавиатуры и цветом. Вводим константы stand цвет невыделенного пункта меню и sel

цвет выделенного пункта меню, а так же n количество пунктов. Затем идет описание записей файла train.dat.pas, nomertown переменные Ф.И.О пассажира и номер направление поезда, имеющие строковый тип, pasp, nomertrain переменные номера паспорта и номера поезда, имеющие целый тип. Теперь идт описание записей файла railst.dattime, 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 определяет условия данет в операторах ifthenelse f флажок. Программа содержит 14 процедур. Две из них menutoscr и menutoscr1 отвечают за вывод меню и подменю на экран. Процедуры содержат описания одной локальной переменной i параметра цикла. Начинаются процедуры с очистки экрана clrscr. Далее идет цикл forto do, выводящий меню на экран. В циклах, с помощью процедуры gotoxy, курсор каждый раз перемещается на позицию вниз, где и выводится

заголовок соответствующих пунктов меню и подменю. Вводим переменную textattr, которая отвечает за цвет фона и символов. Присваиваем ей значение константы sel, то есть задаем цвет выделенного пункта и переводим курсор на текущий пункт. Выделяем его и задаем цвет невыделенного пункта. Процедура newpass вводит нового пассажира. Начинаем процедуру с описания локальных переменных. Обнуляем локальный флажок mozno, потом происходит очистка экрана clrscr.

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

Процедура deletepass начинается с очистки экрана clrscr, обнуляем флажок. Потом вводится фамилия, которую нужно удалить. В цикле repeatuntil оператор условия ifthen выполняется пассажир найден, то происходит удаление пассажира, если пассажир был успешно удалн, то появляется сообщение- Пассажир был удалн и флажку присваивается 1. Иначе присваивается-2. В следующем ifthen файл обновляется, и массив без пассажира записывается в файл.

Далее создатся новый файл с этим же именем. В цикле с постусловием repeatuntil переменной buf присваивается i тое значение элемента массива. Файл закрывается. Когда флажок не равняется 1, то в цикле ifthen печатается сообщение Пассажир не найден. Если же флажок равняется 2, то печатается сообщение Удаление отменено.Delay - используется для задержки сообщения об удалении.

Процедура searchpass предназначена для поиска пассажира в базе данных. Начинаем процедуру с описания локальных переменных, потом происходит очистка экрана clrscr. Используем оператор reset для открытия уже существующего файла. В цикле repeatuntil читается информация. В условном операторе if then читается введнные Ф.И.О, и распечатываются данные о конкретном пассажире т.е.

Ф.И.О, ном. паспорта, ном. рейса - пункт назначения. Закрываем файл. После этого флажку присваивается значение-1. Если флажок равняется -0 , то печатается сообщение Пассажир не найден Процедура newairbase производит полную очистку базы данных о пассажирах. Начинаем процедуру с очистки экрана clrscr. В операторе ifthen задам условие очистки базы данных.

Выводим сообщение Вы действительно хотите очистить базу данных о пассажирах дн Соответственно, переменной k присваивается одно из значений д или н. При k д, с помощью процедур rewrite, данные в файлах удаляются. В противном случае выход из процедуры. После этого выводится ее на экран сообщение- База Аэропорта очищена. Процедура searchbase предназначена для поиска рейса в базе данных.

Начинаем процедуру с очистки экрана clrscr. Вводится номер рейса и направление через тире. Используем оператор reset для открытия уже существующего файла. В цикле repeatuntil читается информация. В условном операторе if then читается введнный номер рейса и направление, и распечатываются данные об рейсе т.е номер рейса - направление, время отхода, цена билета в руб тип поезда. Закрываем файл. После этого флажку присваивается значение-1.

Если флажок равняется -0 , то печатается сообщение Рейс не найден Процедура newbase производит полную очистку базы данных о рейсах. Начинаем процедуру с очистки экрана clrscr. В операторе ifthen задам условие очистки базы данных о рейсах. Выводим сообщение Вы действительно хотите очистить базу данных расписания дн Соответственно, переменной k присваивается одно из значений д или н.

При k д, с помощью процедур rewrite, данные в файлах удаляются. В противном случае выход из процедуры. После этого выводится ее на экран сообщение- База расписания Аэропорта очищена. Основная программа так же начинается с очистки экрана clrscr. Определяем имена файлов Airport.dat, Airbase.dat и связываем их с файловыми переменными процедурой assign. Задам названия пунктов меню. Переменной номера выделенного пункта присваиваем значение единицы.

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

необходимый пункт меню. Аналогичные операции проводим при нажатии стрелки вверх. При нажатии Enter в операторе выбора открывается процедура необходимого пункта. В конце цикла обращаемся к процедуре Menutoscr. Аналогичные операции выполняются и для процедуры Menutoscr1. В конце программы закрываем файлы Airport.dat и Airbase.dat. Приложения Листинги программы Распечатка результатов решения задачи по данным контрольного

примера program kursovik uses crt type airportrecord fio,citystring30 pasp,nomerreisastring6 end airbaserecord time,model,kudastring15 price,klass,numreisinteger end const norm20цвет невыделенного пункта sel50 цвет выделенного пункта n7 var menu,menu1array1 n of string30 название пунктов меню masarray1 50 of airport mas1array1 50 of airbase punktintegerномер выделенного пункта chcharвведенный символ j,j1integerпеременная содержащая общее число пассажиров, число рейсов x,y,n1integerкоординаты первой строки меню procedure

Menutoscrвывод меню на экран var iinteger begin punkt1 clrscr for i1 to n do begin gotoxyx,yi writelnmenui1 end textattr-предопределенная переменная,отвечающая за цвет фона и символов textattrsel gotoxyx,ypunkt-1 writemenupunkt выделим строку меню textattrnorm end procedure Menutoscr1вывод меню на экран var iinteger begin punkt1 clrscr for i1 to n1 do begin gotoxyx,yi writelnmenu1i1 end textattr-предопределенная переменная,отвечающая за цвет фона и символов textattrsel gotoxyx,ypunkt-1

writemenu1punkt выделим строку меню textattrnorm end procedure newpass var fffile of airport bufairport ch,kchar begin clrscr assignff,airport.dat resetff seekff,filesizeff writeln Оформление нового пассажира writeln Введите фио writeln Введите номер паспорта writeln Введите пункт назначения- writeln Введите номер рейса writeln Подтверждение дн with buf do begin gotoxy29,2readlnfio gotoxy29,3readlnpasp

gotoxy29,4readlncity gotoxy29,5readlnnomerreisa end gotoxy29,6readlnk if kд or kД then begin clrscr writeff,buf gotoxy30,12 writeПассажир записан в базу данных end else begin clrscr gotoxy30,12 writeЗапись в базу отменена end delay9999 delay5000 until chchr162 and chchr130 closeff end procedure printpass var fffile of airport bufairport ch,kchar etinteger begin clrscr assignff,airport.dat resetff writeln Список пассажиров et1 repeat readff,buf writeln buf.fio if et23 then readln etet1 until eofff closeff

readln end procedure maspas var bufairport fffile of airport begin assignff,airport.dat resetff j1 repeat readff,buf masjbuf jj1 until eofff jj-1 closeff end procedure deletepass var fffile of airport i,i1,finteger bufairport kchar namestring30 begin clrscr writeln Удалениe информации о пассажире writeln Введите Ф.И.О. пассажира, которого хотите удалить из базы данных write -readlnname i1 f0 repeat if masi.fioname

then begin gotoxy30,12writeПассажир найден, удалить его дн- readlnk if kд or kД then begin for i1i to j-1 do masi1masi11 jj-1 gotoxy30,12 writeПассажир name был удалн f1 end else begin ij f2 end end ii1 until ij1 or f1 if f1 then begin assignff,airport.dat rewriteff i1 repeat bufmasi writeff,buf ii1 until ij1 closeff end else begin gotoxy30,12 if f0 then writelnПассажир не найден end if f2 then writelnУдаление отменено delay9999 delay5000 end procedure searchpass var fffile of airport i,i1,finteger bufairport

kchar namestring30 begin clrscr writeln Поиск информации о пассажире writeln Введите Ф.И.О. пассажира, которого хотите найти write -readlnname i1 f0 assignff,airport.dat resetff repeat readff,buf if buf.fioname then begin clrscr writeln Информация о пассажире writeln Ф.И.О writeln Номер паспорта writeln Пункт назначения- writeln Номер рейса gotoxy22,2writelnbuf.fio gotoxy22,3writelnbuf.pasp gotoxy22,4writelnbuf.

city gotoxy22,5writelnbuf.nomerreisa f1 readln end until eofff closeff if f0 then begin writelnПассажир не найден delay9999 delay5000 end end procedure newairport var fffile of airport kchar begin clrscr gotoxy36,12 textbackgroundred textcolorblink writelnВНИМАНИЕ textattrnorm gotoxy10,13 writeВы действительно хотите очистить базу данных о пассажирах дн- readlnk if kд or kД then begin clrscr assignff,airport.dat rewriteff gotoxy30,12 writelnБаза АЭРОПОРТА очищена closeff delay9999 delay5000 end end procedure

newreis var fffile of airbase bufairbase ch,kchar begin clrscr assignff,airbase.dat resetff seekff,filesizeff writeln Расписание вылетов writeln Номер рейса writeln Направление writeln Время вылетамоск writeln Цена билетаруб writeln Тип самолета writeln Класс1 или 2 writeln Подтверждение дн with buf do begin gotoxy29,2readlnnumreis gotoxy29,3readlnkuda gotoxy29,4readlntime gotoxy29,5readlnprice gotoxy29,6readlnmodel gotoxy29,7readlnklass

end gotoxy29,8readlnk if kд or kД then begin clrscr writeff,buf gotoxy30,12 writeРейс записан в базу данных end else begin clrscr gotoxy30,12 writeЗапись в базу отменена end delay9999 delay5000 until chchr162 and chchr130 closeff end procedure printreis var fffile of airbase bufairbase ch,kchar etinteger begin clrscr assignff,airbase.dat resetff writeln Расписание вылетоввремя московское et1 repeat readff,buf writeln Рейс buf.numreis, Самара buf.kuda, ,buf.time,

Стоимость билета,buf.price,рублей if et23 then readln etet1 until eofff closeff readln end procedure masbase var bufairbase fffile of airbase begin assignff,airbase.dat resetff j11 repeat readff,buf mas1j1buf j1j11 until eofff j1j1-1 closeff end procedure deletebase var fffile of airbase i,i1,finteger bufairbase kchar nreisinteger begin clrscr writeln Удаление рейса из расписания writeln Введите номер рейса,который хотите удалить из расписания write -readlnnreis i1 f0 repeat if mas1i.numreisnreis

then begin gotoxy30,12writeРейс найден, удалить его дн- readlnk if kд or kД then begin for i1i to j1-1 do mas1i1mas1i11 j1j1-1 gotoxy30,12 writeРейс номер nreis был удалн f1 end else begin ij f2 end end ii1 until ij11 or f1 if f1 then begin assignff,airbase.dat rewriteff i1 repeat bufmas1i writeff,buf ii1 until ij11 closeff end else begin gotoxy30,12 if f0 then writelnРейс не найден end if f2 then writelnУдаление отменено delay9999 delay5000 end procedure searchbase var fffile of airbase i,i1,finteger bufairbase

kchar nreisinteger begin clrscr writeln Поиск рейса в расписании writeln Введите номер рейса, который хотите найти write -readlnnreis i1 f0 assignff,airbase.dat resetff repeat readff,buf if buf.numreisnreis then begin clrscr writeln Номер рейса writeln Направление writeln Время вылетамоск writeln Цена билетаруб writeln Тип самолета writeln Класс1 или 2 gotoxy29,1writelnbuf.numreis gotoxy29,2writelnbuf.

kuda gotoxy29,3writelnbuf.time gotoxy29,4writelnbuf.price gotoxy29,5writelnbuf.model gotoxy29,6writelnbuf.klass f1 readln end until eofff closeff if f0 then begin writelnРейс не найден delay9999 delay5000 end end procedure newbase var fffile of airbase kchar begin clrscr gotoxy36,12 textbackgroundred textcolorblink writelnВНИМАНИЕ textattrnorm gotoxy10,13 writeВы действительно хотите очистить базу данных расписания дн- readlnk if kд or kД then begin clrscr assignff,airbase.dat rewriteff gotoxy30,12 writelnБаза расписания

АЭРОПОРТА очищена closeff delay9999 delay5000 end end основная программа Begin clrscr menu1ОФОРМЛЕНИЕ НОВОГО ПАССАЖИРА menu2ВЫВЕСТИ СПИСОК ПАССАЖИРОВ menu3УДАЛИТЬ ИНФОРМАЦИЮ О ПАССАЖИРЕ menu4НАЙТИ ПАССАЖИРА menu5ОЧИСТИТЬ СПИСОК menu6ВЫХОД menu7ПРОСМОТР БАЗЫ menu11ЗАПИСЬ НОВОГО РЕЙСА menu12ПОКАЗАТЬ РАСПИСАНИЕ menu13УДАЛИТЬ

РЕЙС menu14ПОИСК РЕЙСА menu15ОЧИСТИТЬ РАСПИСАНИЕ menu16ВЕРНУТЬСЯ В ГЛАВНОЕ МЕНЮ punkt1x30y8textattrnormn16 Menutoscr repeat chReadkey if chchr0 then begin chReadKey case ch of chr80 стрелка вниз if punkt n then begin gotoxyx,ypunkt-1 writemenupunkt punktpunkt1 textattrsel gotoxyx,ypunkt-1 writemenupunkt textattrnorm end chr72 стрелка вверх if punkt n and punkt 1 then begin gotoxyx,ypunkt-1 writemenupunkt punktpunkt-1 textattrsel gotoxyx,ypunkt-1 writemenupunkt textattrnorm

end end case of end else if chchr13 then нажата клавиша Enter begin case punkt of 1newpass 2printpass 3 begin maspas deletepass end 4searchpass 5newairport 6chchr27 7begin Menutoscr1 repeat chReadkey if chchr0 then begin chReadKey case ch of chr80 стрелка вниз if punkt n1 then begin gotoxyx,ypunkt-1 writemenu1punkt punktpunkt1 textattrsel gotoxyx,ypunkt-1 writemenu1punkt textattrnorm end chr72 стрелка вверх if punkt n1 and punkt 1 then begin gotoxyx,ypunkt-1 writemenu1punkt

punktpunkt-1 textattrsel gotoxyx,ypunkt-1 writemenu1punkt textattrnorm end end case of end else if chchr13 then нажата клавиша Enter begin case punkt of 1newreis 2printreis 3 begin masbase deletebase end 4searchbase 5newbase 6chchr162 end case of menutoscr1 end until chchr27 or chchr162 orchchr13027код Esc end case of end Menutoscr end until chchr2727код Esc End. Оформление нового пассажира Продажа билетов

Вывести список всех пассажиров Удалить информацию о пассажире Найти пассажира Очистить список Выход Продажа билетов Расписание отходов поездов ВЫВОДИТ РАСПИСАНИЕ Оформление нового пассажира Ведите Ф. И. О Пенкин И.В.Петров П.ПИванов И.И.Номер паспорта564743812763 247398Рейс123456789Подтверждение днДДДЗамечание Пассажиров необходимо вводить по очереди.

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

Пенкин И.В. Список пассажиров после удаления Ф. И. О. Петров П.П.Иванов И.ИНомер паспорта812763 247398Номер рейса999333Подтверждение днДД Продажа билетов Вывести список всех пассажиров Удалить информацию о пассажире Найти пассажира Очистить список Выход Введите Ф.И.О. ,которого хотите найти Иванов И.И Информация о пассажире Ф. И. О. Иванов И.

ИНомер паспорта 247398Номер рейса333 Продажа билетов Вывести список всех пассажиров Удалить информацию о пассажире Найти пассажира Очистить список Выход Вы действительно хотите очистить базу данных о пассажирахдн-Д База данных о пассажирах очищена Область применения Эта программа используется в кассе Аэропорта, для упрощнной работы с пассажирами и рейсами.

Список используемой литературы Turbo Pascal 7.0 Старший курс. Автор Фигурнов. В.Э. Шаг за шагом Turbo Pascal 7.0 начальный курс. Автор QUA . Лекции по Паскалю.



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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.