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

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

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

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

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

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

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

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

                       GotoXY(25,13);

                       writeln('║          Пароль подтвержден           ║');

                       GotoXY(25,14);

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

                       delay(1000);

                       GotoXY(25,12);

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

                       GotoXY(25,13);

                       writeln('║         Ваш  статус : АДМИНИСТРАТОР    ║');

                       GotoXY(25,14);

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

                       delay(1000);

                   end;

          end;

        2: begin

             clrscr;

             scr;

             text;

             gotoXY(25,10);

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

             gotoXY(25,11);

             writeln ('║            ВВЕДИТЕ ПАРОЛЬ             ║');

             gotoXY(25,12);

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

             gotoXY(25,13);

             writeln ('║                                       ║');

             GotoXY(25,14);

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

             GotoXY(45,13);

             ReadPwd(psw,8);

             if psw='123456' then

                    begin

                       clrscr;

                       scr;

                       text;

                       pol:=2;

                       flag:=true;

                       GotoXY(25,12);

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

                       GotoXY(25,13);

                       writeln('║          Пароль  подтвержден           ║');

                       GotoXY(25,14);

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

                       delay(1000);

                       GotoXY(25,12);

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

                       GotoXY(25,13);

                       writeln('║         Ваш  статус : БУХГАЛТЕР       ║');

                       GotoXY(25,14);

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

                       delay(1000);

                   end;

          end;

       3: begin

             clrscr;

             scr;

             text;

             gotoXY(25,10);

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

             gotoXY(25,11);

             writeln ('║         ВВЕДИТЕ ПАРОЛЬ "1234"         ║');

             gotoXY(25,12);

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

             gotoXY(25,13);

             writeln ('║                                       ║');

             GotoXY(25,14);

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

             GotoXY(45,13);

             ReadPwd(psw,8);

             if psw='1234' then

                    begin

                       clrscr;

                       scr;

                       text;

                       pol:=3;

                       flag:=true;

                       GotoXY(25,12);

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

                       GotoXY(25,13);

                       writeln('║          Пароль подтвержден           ║');

                       GotoXY(25,14);

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

                       delay(1000);

                       GotoXY(25,12);

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

                      GotoXY(25,13);

                       writeln('║             Ваш статус : ГОСТЬ        ║');

                       GotoXY(25,14);

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

                       delay(1000);

                   end;

              end;

          5: halt;

      end;

 

      if not flag then

            begin

              scr;

              clrscr;

              scr;

              textcolor(16);

              GotoXY(25,11);

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

              GotoXY(25,12);

              writeln('║            Неверный пароль!           ║');

              GotoXY(25,13);

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

              GotoXY(25,14);

              writeln('║   У ВАС ОСТАЛОСЬ:  ',3-i,'   ПОПЫТОК        ║');

              GotoXY(25,15);

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

              delay(6000);

              text;

              clrscr;

            end;

      i:=i+1;

   until (i=3) or (pol=1) or (pol=2) or (pol=3);

    if i>3 then halt;

  end;

 

end.

 

 

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

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

{* Не имеет входных параметров                                                                                            *}

{* p_fаm-осуществляет поиск по фамилии в таблице студенты                   *}

{* p_fmo   - осуществляет поиск по владельцу в таблице стипендия                                   *}

{*    Sorttable1-  сортирует таблицу студенты  в обратном алфавитном порядке             *}

{*    Процедура ms – выдает сообщении о найденном результате                                       *}

{*    Процедура ok- выдает сообщение об успешном поиске                                               *}

{*    Процедура  notok –выдает сообщение о безуспешном поиске                                      *}

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

 

Unit Poiskovik;

     interface

     uses crt;

     const nmax=30;

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;

 

   sort = record

    IdSort:integer;

    nameSort:string;

    end;

   sortArray = array [1..50] of sort;

 

var

   f1:file of stud;

   f2:file of st;

 

   filename:string;

   k,i:integer;

 

 

Procedure p_fam;

Procedure p_fmo;

function Sorttablic1(parNameFile:string;parVariantSort:integer):string;

Function Sorttablic2(parNameFile:string;parVariantSort:integer):string;

implementation

 

 

Procedure Russ;

   begin

      textbackground(11);

      textcolor(0);

      GotoXY(2,25);

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

      textbackground(7);

   end;

Procedure ms;

begin

   textcolor(0);

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

   writeln('║              По вашему запросу найдено:          ║':65);

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

end;

 

Procedure ok;

begin

   textcolor(0);

   for i:=1 to 3 do

     writeln('');

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

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

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

   readkey;

end;

procedure notOK;

begin

   clrscr;

   textcolor(0);

   for i:=1 to 6 do

      writeln('');

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

   writeln('║                 Запись не найдена !              ║':65);

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

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

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

   readkey;

end;

 

Procedure p_fam; {поиск }

var

   poisk:string[35];

   str:stud;

   f1:file of stud;

   rez:integer;

begin

     clrscr;

     textcolor(0);

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

     writeln('║                 Введите Ф.И.О                    ║':65);

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

     writeln('║                                                  ║':65);

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

     russ;

     GotoXY(40,4);

     readln(poisk);

     clrscr;

     assign(f1,'studentinf.txt');

     reset(f1);

     while not eof(f1) do

      begin

      read(f1,str);

      if poisk=str.fam

      then begin

             ms;

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

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

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

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

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

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

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

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

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

          gotoxy(30,5);

          writeln(str.fam);

          gotoxy(30,7);

          writeln(str.grup);

          gotoxy(30,9);

          writeln(str.inf);

          gotoxy(30,11);

          writeln(str.spec);

          ok;

          break;

        end;

        end;

        if poisk<>str.fam then notok;

        close(f1);

    end;

 

Procedure p_fmo; {поиск }

var

   poisk:string[35];

   str:st;

   rez:integer;

begin

     clrscr;

     textcolor(0);

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

     writeln('║                 Введите Ф.И.О                    ║':65);

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

     writeln('║                                                  ║':65);

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

     russ;

     GotoXY(40,4);

     readln(poisk);

     clrscr;

     assign(f2,'stip.txt');

     reset(f2);

     while not eof(f2) do

      begin

      read(f2,str);

      if poisk=str.fam

      then begin

             ms;

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

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

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

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

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

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

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

        gotoxy(30,5);

        writeln(str.fam);

        gotoxy(30,7);

        writeln(str.stip);

        gotoxy(30,9);

        writeln(str.lgot);

        ok;

        break;

        end;

        end;

         if poisk<>str.fam then notOk;

        close(f2);

        end;

 

 

 

 

Procedure LowCase(var parString:string);

  var

    i:byte;

  begin

    for i:=1 to length(parString) do

      if parString[i] in ['A'..'Z','А'..'П']

      then

        parString[i]:=chr(ord(parString[i])+32)

      else

        if parString[i] in ['Р'..'Я']

then

  parString[i]:=chr(ord(parString[i])+80)

        else

  if parString[i]='Ё'

  then

    parString[i]:='ё';

  end;

 

Function EquelString(parStr1,parStr2:string):boolean;

  var

    i,len1,len2,len:integer;

    equelLength:boolean;

  begin

    len1:=length(parStr1);

    len2:=length(parStr2);

    equelLength:=len1<len2;

    EquelString:=true;

    if equelLength

    then

      len:=len1

    else

      len:=len2;

    LowCase(parStr1);

    LowCase(parStr2);

    for i:=1 to len do

      begin

        if (parStr1[i]>parStr2[i])

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