Программирование на языках высокого уровня "Стипендия"

Автор: Пользователь скрыл имя, 13 Декабря 2012 в 12:20, курсовая работа

Описание работы

Современная вычислительная техника позволяет решать большое количество различных задач. Пожалуй, наиболее важным применением ЭВМ стало хранение информации. Удобные и разнообразные средства для этой цели предоставляют технологии баз данных и информационно-справочных систем. Целью данной курсовой работы является приобретение опыта алгоритмизации, конструирования, практической реализации программ и широкого применения ЭВМ, на примере программирования информационно-справочной системы. В качестве языка программирования выбран язык TURBO PASCAL, изучаемый на занятиях по дисциплине “Программирование на языках высокого уровня”.

Работа содержит 1 файл

Пояснительная Записка.doc

— 780.00 Кб (Скачать)

       delay(1000);

       col:=not(col);

     until keypressed{выход по нажатию любой клавиши}

   end;

end.

 

 

{****************************************************************************}

{*  Модуль содержащий процедуры для добавления строк в таблицы                                  *}

{*   Процедура ADDSTRING- является основной и используется в главной программе    *}

{*   n-входной параметр, отвечающий за то какая таблица будет создана                            *}

{****************************************************************************}

 

unit AddStr;

 

 

Interface

  uses cozdan,help;

Procedure AddString(n:integer);

Procedure AddBD;

 

Implementation

 

Uses crt;

Type

    stud=record

     fam:string[21];

     grup:string[13];

     inf:string[22];

     spec:string[7];

    end;

     st=record

     fam:string[80];

     spec:string[30];

     stip:string[50];

     lgot:string[30];

     end;

 

Procedure Russ;

   begin

      textbackground(11);

      GotoXY(2,25);

      write(' Для переключения  на русский язык используйте  клавиши Shift+"Контекстное меню"');

      textbackground(7);

   end;

 

Procedure MessageVopros;

  var

    i:integer;

  begin

    textcolor(0);

    for i:=1 to 6 do

      writeln('');

    writeln('╔══════════════════════════════════════════════════╗':65);

    writeln('║       Вы действительно хотите добавить строку?   ║':65);

    writeln('╠══════════════════════════════════════════════════╣':65);

    writeln('║ Нажмите  Enter для  продолжения и ESC для отмены  ║':65);

    writeln('╚══════════════════════════════════════════════════╝':65);

  end;

Procedure AddString(n:integer);

   Var

     i,p:integer;

     newStr1:stud;

     newStr2:st;

 

     peremen: integer;

     f1:file of stud;

     f2:file of st;

 

     key:char;

   Begin

     clrscr;

     MessageVopros;

     key:=readkey;

     if key=#13 then begin

     clrscr;

     if n=1

     then

       begin

         with NewStr1 do

           begin

             writeln('╔══════════════════════════════════════════════════╗':65);

             writeln('║ Ф.И.О.:                                          ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             writeln('║ Группа:                                          ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             Writeln('║ Информация:                                      ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             Writeln('║ Специальность:                                   ║':65);

             writeln('╚══════════════════════════════════════════════════╝':65);

             russ;

             GotoXY(30,2);

             Readln(fam);

             GotoXY(30,4);

             Readln(grup);

             GotoXY(30,6);

             Readln(inf);

             GotoXY(30,8);

             Readln(spec);

 

          end;

        Clrscr;

        dobav;

        assign(f1,'studentinf.txt');

        reset(f1);

        peremen:= FileSize(f1); {stroka dlia otladki}

        seek(f1,FileSize(f1));

        write(f1,NewStr1);

        close(f1);

     end;

     if n=2

     then

       begin

         with NewStr2 do

           Begin

             writeln('╔══════════════════════════════════════════════════╗':65);

             writeln('║ Ф.И.О:                                           ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             writeln('║ Специальность:                                   ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             Writeln('║ Стипендия:                                       ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             Writeln('║ Льготы:                                          ║':65);

             writeln('╚══════════════════════════════════════════════════╝':65);

             russ;

             GotoXy(30,2);

             Readln(fam);

             GotoXy(30,4);

             Readln(spec);

             GotoXy(34,6);

             Readln(stip);

             GotoXy(30,8);

             Readln(lgot);

           End;

         Clrscr;

         Dobav;

         assign(f2,'stip.txt');

         reset(f2);

         peremen:= FileSize(f2);

         seek(f2,FileSize(f2));

         write(f2,NewStr2);

         close(f2);

       end;

 

 

     end

     else exit;

     if key=#27 then exit;

 

end;

 

Procedure AddBD;

  var ch,key:char;

      t,i:integer;

   begin

            clrscr;

             for t:=1 to 6 do

               writeln;

             writeln('╔══════════════════════════════════════════════════╗':65);

             writeln('║         Вы действительно хотите создать БД?      ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             writeln('║ Нажмите  Enter для продолжения и ESC для отмены  ║':65);

             writeln('╚══════════════════════════════════════════════════╝':65);

             ch:=readkey;

             if ch=#13 then begin

              i:=1;

           repeat

            clrscr;

          textbackground(11);

          TextColor(0);

          gotoXY(37,10);

          Writeln('ВЫБЕРИТЕ БД,');

            gotoXY(31,11);

            Writeln('КОТОРУЮ ВЫ ХОТИТЕ СОЗДАТЬ');

            TextColor(0);

            textbackground(7);

            gotoXY(2,25);

            Write('             ',#24,'- Вверх          ');

            Write('    ',#25,' - Вниз           ');

            Write('Enter - Выбор          ');

            repeat

             if (Key=#80) then i:=i+1;    {переход вниз}

             if (Key=#72) then i:=i-1;    {переход вверх}

             if (i=4) then i:=1;          {переход с последней на первую строку}

             if (i=0) then i:=4;          {переход с первой на последнюю  строку}

             case i of

              1: begin

                  textbackground(14);

                  textcolor(0);                   {первое положение}

                  gotoXY(33,13);

                  Writeln('       Студенты      ');

                  textbackground(7);

                  gotoXY(33,14);

                  Writeln('         Стипендия   ');

                  gotoXY(33,15);

                  Writeln('         Выход       ');

                 end;

              2: begin                   {второе положение}

                  textbackground(7);

                  textcolor(0);

                  gotoXY(33,13);

                  Writeln('       Студенты      ');

                  textbackground(14);

                  gotoXY(33,14);

                  Writeln('         Стипендия   ');

                  gotoXY(33,15);

                  textbackground(7);

                  Writeln('         Выход       ');

                 end;

              3: begin                   {третье положение}

                  textbackground(7);

                  textcolor(0);

                  gotoXY(33,13);

                  Writeln('       Студенты      ');

                  gotoXY(33,14);

                  Writeln('         Стипендия   ');

                  textbackground(14);

                  gotoXY(33,15);

                  Writeln('         Выход       ');

                  textbackground(7);

                 end;

             end;

             TextColor(0);

             key:=readkey;              {нажатие клавиши}

            until (Key=#13);

            case i of

              1: tablic1;

              2: tablic2;

 

            end;

            textbackground(11);

       until i=3;

        end

        else exit;

        if ch=#27 then exit;

        textbackground(11);

     end;

 

 

End.

 

 

 

{****************************************************************************}

{*   Модуль  СOZDAN предназначен для создания таблиц                                                    *}

{*    Процедура tablic1- служит для создания БД-студенты                                                    *}

{*      Процедура tablic2- служит для создания БД-стипендия                                                *}

{*    Процедура МSОK- служит для вывода сообщения об успешном добавлении             *}

{****************************************************************************}

 

Unit Cozdan;

{Создание таблиц для базы  данных}

Interface

   Procedure tablic1;{таблица для анкетных данных сотрудников}

   Procedure tablic2;{таблица для данных  об обсуживаемых домах}

   Procedure MSOK;{выводит сообщения  об успехе в действии}

 

 Implementation

  uses crt;

  Const

   Nmax=30;

  Procedure Russ;

   begin

      textbackground(11);

      GotoXY(2,25);

      write(' Для переключения на русский язык используйте клавиши Shift+"Контекстное меню"');

      textbackground(7);

   end;

  procedure MSOK;

   var i:integer;

   begin

    clrscr;

    textcolor(0);

    for i:=1 to 6 do

      writeln('');

    writeln('╔══════════════════════════════════════════════════╗':65);

    writeln('║                БД успешна добавлена!             ║':65);

    writeln('╠══════════════════════════════════════════════════╣':65);

    writeln('║        Для продолжения нажмите любую клавишу     ║':65);

    writeln('╚══════════════════════════════════════════════════╝':65);

    Readkey;

   end;

  {таблица для анкетных данных  сотрудников}

 

  Procedure tablic1;

  Type

    stud=record

     fam:string[21];

     grup:string[13];

     inf:string[22];

     spec:string[7];

    end;

 

    Var

     lineFile:stud;

     k,i,n:Integer;

     ft:File of stud ;

    Begin

     Assign (ft,'studentinf.txt');

     Rewrite (ft);

     clrscr;

     writeln('╔══════════════════════════════════════════════════╗':65);

     Writeln('║       Введите количество студентов:              ║':65);

     writeln('╠══════════════════════════════════════════════════╣':65);

     writeln('║                                                  ║':65);

     writeln('╚══════════════════════════════════════════════════╝':65);

     GotoXY(40,4);

     Readln(n);

     clrscr;

     For i:=1 to n do

      Begin

       writeln('╔══════════════════════════════════════════════════╗':65);

       Writeln('║   Введите данные о ':34,i,'-ом студенте                 ║':30);

       writeln('╚══════════════════════════════════════════════════╝':65);

       with lineFile do

       Begin

             writeln('╔══════════════════════════════════════════════════╗':65);

             writeln('║ Ф.И.О.:                                          ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             writeln('║ Группа:                                          ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             Writeln('║ Информация:                                      ║':65);

             writeln('╠══════════════════════════════════════════════════╣':65);

             Writeln('║Специальность:                                    ║':65);

             writeln('╚══════════════════════════════════════════════════╝':65);

             russ;

             GotoXY(30,5);

             Readln(fam);

             GotoXY(30,7);

             Readln(grup);

             GotoXY(30,9);

             Readln(inf);

             GotoXY(30,11);

             Readln(spec);

       End;

     Write(Ft,lineFile);

     writeln;

     clrscr;

    End;

    clrscr;

    MSOK;

    close(ft);

   End;

 

  {таблица для данных об  обсуживаемых домах}

   Procedure tablic2;

  Type

     st=record

     fam:string[80];

     spec:string[30];

     stip:string[50];

     lgot:string[30];

     end;

 

    Var

     lineFile:st;

     k,i,n:Integer;

     ft:File of st;

    Begin

     Assign (ft,'stip.txt');

    Rewrite (ft);

     clrscr;

     writeln('╔══════════════════════════════════════════════════╗':65);

     Writeln('║       Введите количество студентов:              ║':65);

     writeln('╠══════════════════════════════════════════════════╣':65);

     writeln('║                                                  ║':65);

     writeln('╚══════════════════════════════════════════════════╝':65);

     GotoXY(40,4);

     Readln(n);

     clrscr;

     For i:=1 to n do

      Begin

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