в каталозі де встановлений мову програмування Turbo Pascal.
Список літератури.
В
1. В«Основи алгоритмізації та програмування В», Є. М. Сафьянова, навчальний посібник, Томськ, 2000
Додаток 1. Лістинг програми.
{Для коректної роботи програми файл phone.dat
повинен знаходитися в каталозі Phone, який у
свою чергу повинен знаходиться в каталозі де
встановлений мову програмування Turbo Pascal}
program Phonebook;
uses Crt;
type Phone = record
SurnameS: string [15];
NameS: string [15];
PhoneS: string [15];
AddressS: string [50];
end;
var PhoneF: file of Phone;
PhoneR: Phone;
a: array [1 .. 600] of Phone;
procedure WritePhone;
begin
Assign (PhoneF, 'Phone phone.dat');
Reset (PhoneF);
ClrScr;
writeln ('Всі записи:');
writeln;
while not Eof (PhoneF) do
begin
PhoneR.SurnameS: ='';
PhoneR.NameS: ='';
PhoneR.PhoneS: ='';
PhoneR.AddressS: ='';
read (PhoneF, PhoneR);
writeln;
write (PhoneR.SurnameS);
write ('', PhoneR.NameS);
write ('', PhoneR.PhoneS);
write ('', PhoneR.AddressS);
end;
Close (PhoneF),
writeln;
writeln;
write ('Натисніть будь-яку клавішу ...');
ReadKey;
end;
procedure AddPhone;
begin
Assign (PhoneF, 'Phone phone.dat');
Reset (PhoneF);
while not Eof (PhoneF) do Read (PhoneF, PhoneR);
PhoneR.SurnameS: ='';
PhoneR.NameS: ='';
PhoneR.PhoneS: ='';
PhoneR.AddressS: ='';
ClrScr;
writeln ('Додавання запису:');
writeln;
Write ('Введіть Прізвище:');
readln (PhoneR.SurnameS);
write ('Введіть Ім'я:');
readln (PhoneR.NameS);
write ('Введіть номер телефону:');
readln (PhoneR.PhoneS);
write ('Введіть адресу:');
readln (PhoneR.AddressS);
write (PhoneF, PhoneR),
Close (PhoneF);
writeln;
writeln ('Запис успішно додана в базу! ');
writeln;
write ('Натисніть будь-яку клавішу ...');
ReadKey;
end;
procedure DeletePhone;
var temp: file of Phone;
Nazv: string [15];
begin
Assign (PhoneF, 'Phone phone.dat');
Reset (PhoneF);
Assign (temp, 'Phone temp.dat');
Rewrite (temp);
PhoneR.SurnameS: ='';
PhoneR.NameS: ='';
PhoneR.PhoneS: ='';
PhoneR.AddressS: ='';
ClrScr;
writeln ('Видалення запису:');
writeln;
Write ('Введіть Прізвище:');
readln (Nazv);
while not Eof (PhoneF) do
begin
Read (PhoneF, PhoneR);
if PhoneR.SurnameS <> Nazv then Write (temp, PhoneR);
end;
Close (temp);
Close (PhoneF);
Erase (PhoneF);
Rename (temp, 'Phone phone.dat');
writeln;
writeln ('Запис успішно видалена з бази! ');
writeln;
write ('Натисніть будь-яку клавішу ...');
ReadKey;
end;
procedure EditPhone;
var Nazv: string [15];
temp: file of Phone;
begin
Assign (PhoneF, 'Phone phone.dat');
Reset (PhoneF);
Assign (temp, 'Phone temp.dat');
Rewrite (temp);
PhoneR.SurnameS: ='';
PhoneR.NameS: ='';
PhoneR.PhoneS: ='';
PhoneR.AddressS: ='';
ClrScr;
writeln ('Редагування запису:');
writeln;
Write ('Введіть Прізвище, яку хочете змінити: ');
readln (Nazv);
while not Eof (PhoneF) do
begin
PhoneR.SurnameS: ='';
PhoneR.NameS: ='';
PhoneR.PhoneS: ='';
PhoneR.AddressS: ='';
Read (PhoneF, PhoneR);
if PhoneR.SurnameS <> Nazv then Write (temp, PhoneR);
end;
writeln;
write ('Введіть нове Прізвище:');
readln (PhoneR.SurnameS);
write ('Введіть нове Ім'я:');
readln (PhoneR.NameS);
write ('Введіть новий номер телефону: ');
readln (PhoneR.PhoneS);
write ('Введіть нову адресу:');
readln (PhoneR.AddressS);
write (temp, PhoneR);
Close (temp);
Close (PhoneF);
Erase (PhoneF);
...