Автор работы: Пользователь скрыл имя, 05 Декабря 2011 в 16:41, курсовая работа
Целью курсовой работы является углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере. Курсовая работа выполняется в среде Турбо Паскаль и предполагает работу с текстами, файловыми структурами, обработку записей.
1. Введение ______________________________________________________________ 3
2. Назначение и область применения _______________________________________ 4
3. Постановка задачи _____________________________________________________ 5
4. Используемые методы __________________________________________________ 6
5. Алгоритм программы __________________________________________________ 7
6. Заключение ___________________________________________________________ 10
7. Список литературы ___________________________________________________ 11
8. Приложение 1. Листинг программы _________
end;
inc(kursor2);
end;
inc(kursor1);
end;
Close(t);
end;
{Процедура - Сортировки по Типу клиента}
Procedure FSortByClientType (AFileName:string);
var
t: File of TCards;
Cards1,Cards2: TCards;
kursor1,kursor2, f_size: Longint;
begin
if NOT FileExists(AFileName) then Exit;
Assign(t,AfileName);
Reset(t);
kursor1:=0;
f_size:=FileSize(t)-1;
while kursor1 < f_size do begin
seek(t,kursor1);
Read(t,Cards1);
kursor2:=kursor1+1;
while kursor2 <= f_size do begin
seek(t,kursor2);
Read(t,Cards2);
if Cards1.ClientType>Cards2.
seek(t,kursor1);
write(t,Cards2);
seek(t,kursor2);
write(t,Cards1);
Cards1:=Cards2;
end;
inc(kursor2);
end;
inc(kursor1);
end;
Close(t);
end;
{Процедура - Меню "Сортировать"}
Procedure MSort ;
var
a:char;
b:integer;
begin
repeat
begin
ClrScr;
WriteLn(' "Справочник выданных Мобильных карт" - Меню "Сортировть"');
WriteLn;
WriteLn ('<1> По клиенту');
WriteLn;
WriteLn ('<2> По номеру карты');
WriteLn;
WriteLn ('<3> По типу топлива');
WriteLn;
WriteLn ('<4> По типу владельца');
WriteLn;
WriteLn ('<Esc> Выход.');
a:=ReadKey;
b:=ord(a);
case b of
49 : FSortByClient(FileName);
50 : FSortByCardNo(FileName);
51 : FSortByGoodType(FileName);
52 : FSortByClientType(FileName);
end;
end;
until (b=27) or (b=49) or (b=50) or (b=51) or (b=52);
end;
{Процедура - Меню поиска}
Procedure MPoisk ;
var
a:char;
b:integer;
begin
repeat
begin
ClrScr;
WriteLn(' "Справочник выданных
WriteLn;
WriteLn ('<1> Поиск по клиенту');
WriteLn;
WriteLn ('<2> Поиск по номеру карты');
WriteLn;
WriteLn ('<3> Выборка по типу топлива');
WriteLn;
WriteLn ('<Esc> Выход.');
a:=ReadKey;
b:=ord(a);
case b of
49 : SelectCardsClient(FileName, FileFTmp);
50 : SelectCardsNo(FileName, FileFTmp);
51 : SelectCardsGoodType(FileName, FileFTmp);
end;
end;
until b=27;
end;
{Процедура вывода на экран БД}
Procedure ShowFile (AfileName:string);
Var
FTmp : File of TCards;
b:integer;
a:char;
Begin
Repeat
If Not FileExists(AFileName) then begin
Assign(FTmp,AFileName);
Rewrite(FTmp);
Close(FTmp);
ShowFile(AFileName);
end;
ClrScr;
FShowFile (AFilename);
WriteLn;
Write('<1>-"Поиск..." ');
Write('<2>-"Выдать карту..." ');
Writeln('<3>-"Удалить карту..." ');
Write('<4>-"Редактировать карту..." ');
Writeln('<5>-"Сортировать список..."');
Writeln('---------------------
Writeln('<Esc>-"ВЫХОД - Главное меню"');
a:=ReadKey;
b:=ord(a);
Case b of
49:MPoisk;
50 : FAddCards(FileName);
51 : FDelCardsNo (FileName, FileFTmp);
52 : FEdit (FileName, FileFTmp);
53 : MSort;
end;
until b=27;
{Удаляем FTmp.dat-файл}
If FileExists(FileFTmp) then begin
Assign (FTmp, FileFTmp);
Reset(FTmp);
Close(FTmp);
Erase(FTmp);
end;
end;
{Процедура - Окно главного меню}
procedure PMenu;
var
a: char;
b: integer;
begin
repeat
begin
ClrScr;
WriteLn(' "Справочник выданных
WriteLn;
WriteLn ('<1> Список карт.');
WriteLn;
WriteLn ('<Esc> Выйти из программы.');
a:=ReadKey;
b:=ord(a);
case b of
49 : ShowFile(FileName);
end;
end;
until b=27;
end;
{Тело программы}
begin
ClrScr;
PMenu;
end.
Результат работы приведен в картинках:
Начало работы программы:
“<1>-Список карт”
“<1>-Список карт” -> “<1>-Поиск…”
“<1>-Список карт” -> “<1>-Поиск…” -> “<1>-Поиск по клиенту”
“<1>-Список карт” -> “<1>-Поиск…” -> “<2>-Поиск по номеру карты”
“<1>-Список карт” -> “<1>-Поиск…” -> “<3>-Выборка по типу топлива”
Результат поиска:
“<1>-Список карт” -> “<2>-Выдать карту…”
Результат добавление записи:
“<1>-Список карт” -> “<3>-Удалить карту…”
“<1>-Список карт” -> “<4>-Редактировать карту…”
“<1>-Список карт” -> “<5>-Сортировать список…”
“<1>-Список карт” -> “<5>-Сортировать список…” -> “<1>-По клиенту”
“<1>-Список карт” -> “<5>-Сортировать список…” -> “<2>-По номеру карты”
“<1>-Список карт” -> “<5>-Сортировать список…” -> “<3>-По типу топлива”
“<1>-Список карт” -> “<5>-Сортировать список…” -> “<3>-По типу владельца”
При нажатии <Esc> программа завершит свою работу:
Информация о работе Програмирование на языке высокого уровня