Програмирование на языке высокого уровня

Автор работы: Пользователь скрыл имя, 05 Декабря 2011 в 16:41, курсовая работа

Краткое описание

Целью курсовой работы является углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере. Курсовая работа выполняется в среде Турбо Паскаль и предполагает работу с текстами, файловыми структурами, обработку записей.

Содержание работы

1. Введение ______________________________________________________________ 3
2. Назначение и область применения _______________________________________ 4
3. Постановка задачи _____________________________________________________ 5
4. Используемые методы __________________________________________________ 6
5. Алгоритм программы __________________________________________________ 7
6. Заключение ___________________________________________________________ 10
7. Список литературы ___________________________________________________ 11
8. Приложение 1. Листинг программы _________

Содержимое работы - 1 файл

Курсовая работа Бессмертный.doc

— 2.24 Мб (Скачать файл)

      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.ClientType then begin

        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. 
 
 

 

9. Приложение 2. Результат работы.

    Результат работы приведен в картинках:

    Начало  работы программы:

    “<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> программа завершит свою работу:

Информация о работе Програмирование на языке высокого уровня