[j +1]. AddressS then begin
tr: = a [j +1];
a [j +1]: = a [j];
a [j]: = tr;
end;
end;
for i: = 1 to c do begin
writeln;
write (a [i]. SurnameS);
write ('', a [i]. NameS);
write ('', a [i]. PhoneS);
write ('', a [i]. AddressS),
end;
Close (PhoneF);
writeln;
writeln;
write ('Натисніть будь-яку клавішу ... ');
ReadKey;
end;
procedure SortPhone;
var i, j, c: integer;
tr: Phone;
begin
c: = 0;
Assign (PhoneF, 'Phone phone.dat');
Reset (PhoneF);
ClrScr;
writeln ('Сортування за адресою: ');
writeln;
while not Eof (PhoneF) do begin
inc (c, 1);
read (PhoneF, a [c]),
end;
for i: = 1 to c do
for j: = 1 to c-1 do begin
if a [j]. PhoneS> a [j +1]. PhoneS then begin
tr: = a [j +1];
a [j +1]: = a [j];
a [j]: = tr;
end;
end;
for i: = 1 to c do begin
writeln;
write (a [i]. SurnameS);
write ('', a [i]. NameS);
write ('', a [i]. PhoneS);
write ('', a [i]. AddressS);
end;
Close (PhoneF);
writeln;
writeln;
write ('Натисніть будь-яку клавішу ... ');
ReadKey;
end;
Процедура SortType - підміню сортування. Дана процедура за допомогою операторів Writeln і Readln створює підменю сортування, для зручності роботи з програмою кінцевого користувача. У меню присутні наступні пункти:
В· 1. Чи не сортувати - викликає процедуру WritePhone;
В· 2. Сортувати за Прізвища - викликає процедуру SortSurname;
В· 3. Сортувати за адресою - викликає процедуру SortAddress;
В· 4. Сортувати за номером телефону - викликає процедуру SortPhone;
В· 5. Повернення в головне меню - повертається до головного меню;
procedure SortType;
var b: integer;
begin
repeat
begin
ClrScr;
writeln ('"Телефонний довідник" - меню сортування');
writeln;
writeln ('1. Чи не сортувати ');
writeln ('2. Сортувати за Прізвища ');
writeln ('3. Сортувати по адресу ");
writeln ('4. Сортувати за номером телефону ');
writeln ('----------------------------');
writeln ('5. Повернення в головне меню ');
writeln;
write ('Виберіть пункт меню: ');
readln (b);
case b of
1: WritePhone;
2: SortSurname;
3: SortAddress;
4: SortPhone;
end;
end;
until b = 5;
end;
Процедура PhoneMenu - меню. Дана процедура за допомогою операторів Writeln і Readln створює меню, для зручності роботи з програмою кінцевого користувача. У меню присутні наступні пункти:
В· 1. Показати всі записи - викликає процедуру WritePhone;
В· 2. Додати запис - викликає процедуру AddPhone;
В· 3. Видалити запис - викликає процедуру DeletePhone;
В· 4. Редагувати запис - викликає процедуру EditPhone;
В· 5. Пошук по Прізвища - викликає процедуру FindSurname;
В· 6. Пошук за номером телефону - викликає процедуру FindPhone;
В· 7. Вихід - Завершує роботу програми;
procedure PhoneMenu;
var b: integer;
begin
repeat
begin
ClrScr;
writeln ('"Телефонний довідник" - Головне меню ');
writeln;
writeln ('1. Показати всі записи ');
writeln ('2. Додати запис ');
writeln ('3. Видалити запис ');
writeln ('4. Редагувати запис ');
writeln ('5. Пошук по Прізвища ');
writeln ('6. Пошук по номеру телефону ');
writeln ('----------------------------');
writeln ('7. Вихід ');
writeln;
write ('Виберіть пункт меню:');
readln (b);
case b of
1: SortType;
2: AddPhone;
3: DeletePhone;
4: EditPhone;
5: FindSurname;
6: FindPhone;
end;
end;
until b = 7;
end;
В основній програмі відбувається очищення екрана за допомогою оператора ClrScr і викликається процедура PhoneMenu.
begin
ClrScr;
PhoneMenu;
end.
Висновок
В
Дана програма продемонструвала гарну працездатність. Має інтуїтивно зрозумілий інтерфейс і не повинна викликати труднощів у роботі кінцевого користувача. Для коректної роботи програми файл phone.dat повинен знаходитися в каталозі Phone, який у свою чергу повинен знаходиться...