Скачиваний:
106
Добавлен:
23.06.2014
Размер:
105.47 Кб
Скачать

3.4 Руководство пользователю

Для корректной работы программы, необходимо правильно указывать путь к файлу БД, например c:\poezd.dat или если файл находится в каталоге программы, то просто poezd.dat.

При выборе пятого пункта меню «Поиск поездов останавливающихся в городе», текстовый файл создается с тем же именем и по тому же пути, который был указан при запуске программы в качестве файла БД, меняется только расширение файла на txt. Текстовый файл создается в кодировке DOS, поэтому чтобы он корректно отображался его нужно открывать в редакторах, которые понимают DOS – кодировку.

  1. Заключение

В процессе работы над данным курсовым проектом была освоена работа со структурными данными и файлами в языке программирования Турбо Паскаль. Закреплен пройденный материал по дисциплине «Информационные технологии обработки данных».

  1. Список использованных источников

1. «Информационные технологии обработки данных», В. В. Коробова, учебное пособие, Томск, 2000 г.

  1. Приложение 1. Текст программы

program RPoezd;

uses Crt;

type Poezd = record

Number : integer;

KP : string[20];

DN : string[15];

Time : string[10];

KOst : integer;

Ost : array[1..100] of string;

end;

var i : integer;

filename,filenametemp : string;

PoezdF : file of Poezd;

PoezdR : Poezd;

{Процедура добавления маршрута}

procedure AddPoezd;

begin

Assign(PoezdF,filename);

Reset(PoezdF);

while not Eof(PoezdF) do Read(PoezdF,PoezdR);

ClrScr;

writeln('Добавление маршрута:');

writeln;

write('Введите номер поезда:');

readln(PoezdR.Number);

write('Введите конечный пункт:');

readln(PoezdR.KP);

write('Введите день недели:');

readln(PoezdR.DN);

write('Введите время отправления:');

readln(PoezdR.Time);

write('Введите количество остановок (максимум 100):');

readln(PoezdR.KOst);

writeln('Введите (поочередно) перечень остановок:');

for i :=1 to PoezdR.KOst do readln(PoezdR.Ost[i]);

write(PoezdF,PoezdR);

Close(PoezdF);

writeln;

writeln('Маршрут добавлен!!!');

writeln;

writeln('Нажмите любую клавишу...');

ReadKey;

end;

{Процедура удаления маршрута}

procedure DeletePoezd;

var temp : file of Poezd;

Nom : integer;

f : boolean;

begin

f:=false;

Assign(PoezdF,filename);

Reset(PoezdF);

Assign(temp,filenametemp+'tmp');

Rewrite(temp);

ClrScr;

writeln('Удаление маршрута:');

writeln;

write('Введите номер поезда:');

readln(Nom);

while not Eof(PoezdF) do

begin

Read(PoezdF,PoezdR);

if PoezdR.Number<>Nom then Write(temp,PoezdR)

else f:=true;

end;

Close(temp);

Close(PoezdF);

Erase(PoezdF);

Rename(temp,filename);

writeln;

if f then writeln('Маршрут удален!!!')

else writeln('Маршрут не найден...');

writeln;

writeln('Нажмите любую клавишу...');

ReadKey;

end;

{Процедура редактирования маршрута}

procedure EditPoezd;

var temp : file of Poezd;

Nom,tn : integer;

f : boolean;

begin

f:=false;

Assign(PoezdF,filename);

Reset(PoezdF);

Assign(temp,filenametemp+'tmp');

Rewrite(temp);

ClrScr;

writeln('Редактирование маршрута:');

writeln;

write('Введите номер поезда:');

readln(Nom);

while not Eof(PoezdF) do

begin

Read(PoezdF,PoezdR);

if PoezdR.Number<>Nom then Write(temp,PoezdR)

else

begin

tn:=nom;

f:=true;

end;

end;

if f then

begin

writeln;

PoezdR.Number:=tn;

write('Введите конечный пункт:');

readln(PoezdR.KP);

write('Введите день недели:');

readln(PoezdR.DN);

write('Введите время отправления:');

readln(PoezdR.Time);

write('Введите количество остановок (максимум 100):');

readln(PoezdR.KOst);

writeln('Введите (поочередно) перечень остановок:');

for i :=1 to PoezdR.KOst do readln(PoezdR.Ost[i]);

write(temp,PoezdR);

writeln('Маршрут изменен...');

end

else

begin

writeln;

writeln('Маршрут не найден...');

end;

Close(temp);

Close(PoezdF);

Erase(PoezdF);

Rename(temp,filename);

writeln;

writeln('Нажмите любую клавишу...');

ReadKey;

end;

{Процедура вывода маршрута поезда на экран}

procedure ViewPoezd;

var Nom : integer;

f : boolean;

begin

f:=false;

Assign(PoezdF,filename);

Reset(PoezdF);

ClrScr;

writeln('Просмотр маршрута:');

writeln;

write('Введите номер поезда:');

readln(Nom);

while not Eof(PoezdF) do

begin

read(PoezdF,PoezdR);

if PoezdR.Number=Nom then

begin

f:=true;

writeln;

writeln('Номер поезда: ',Nom);

writeln('Конечный пункт: ',PoezdR.KP);

writeln('День недели: ',PoezdR.DN);

writeln('Время отправления: ',PoezdR.Time);

writeln('Перечень остановок:');

for i:=1 to PoezdR.KOst do writeln(' ',PoezdR.Ost[i]);

break;

end;

end;

Close(PoezdF);

if f=false then

begin

writeln;

writeln('Поезд с данным номером не найден...');

end;

writeln;

writeln('Нажмите любую клавишу...');

ReadKey;

end;

{Процедура поиска поезда который останавливается в указанном городе}

procedure FindPoezd;

var k : integer;

gorod : string;

TPoezdF : text;

begin

k:=0;

Assign(PoezdF,filename);

Reset(PoezdF);

Assign(TPoezdF,filenametemp+'txt');

Rewrite(TPoezdF);

ClrScr;

writeln('Поиск поезда который останавливается в указанном городе:');

writeln;

write('Введите город:');

readln(gorod);

write(TPoezdF,'Список номеров поездов останавливающихся в городе ',gorod,': ');

while not Eof(PoezdF) do

begin

read(PoezdF,PoezdR);

for i:=1 to PoezdR.KOst do

if PoezdR.Ost[i]=gorod then

begin

write(TPoezdF,PoezdR.Number);

write(TPoezdF,', ');

k:=k+1;

end;

end;

Close(PoezdF);

Close(TPoezdF);

writeln;

writeln('В городе ',gorod,' останавливается поездов: ',k);

writeln;

writeln('Нажмите любую клавишу...');

ReadKey;

end;

procedure PoezdMenu;

begin

repeat

begin

ClrScr;

writeln('Маршруты движения поездов - Главное меню');

writeln;

writeln('1. Добавить маршрут');

writeln('2. Посмотреть маршрут поезда');

writeln('3. Удалить маршрут');

writeln('4. Редактировать маршрут');

writeln('5. Поиск поездов останавливающихся в городе');

writeln('-------------------------------------------------');

writeln('6. Выход');

writeln;

write('Выберите пункт меню: ');

readln(i);

case i of

1 : AddPoezd;

2 : ViewPoezd;

3 : DeletePoezd;

4 : EditPoezd;

5 : FindPoezd;

end;

end;

until i=6;

end;

begin

ClrScr;

writeln('Введите путь к файлу содержащему маршруты поездов (например: c:\poezd.dat)');

readln(filename);

filenametemp :=copy(filename,1,length(filename)-3);

PoezdMenu;

end.

Соседние файлы в папке Курсовой_вар10_Информационные технологии обработки данных