Скачиваний:
95
Добавлен:
23.06.2014
Размер:
6.01 Кб
Скачать
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_Информационные технологии обработки данных