Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Маленькая база данных для работников отеля

.PAS
Скачиваний:
11
Добавлен:
01.05.2014
Размер:
22 Кб
Скачать
program Palas;
 uses crt,Graph;
 const
 ima='my.buz';imt='my.txt';
 mas:array[1..12]of string[50] =
      ('‚‚Ћ„ ЃЂ‡› „ЂЌЌ›•',
       '„ЋЃЂ‚‹…Ќ€… ‡ЂЏ€‘…‰',
       '“„Ђ‹…Ќ€… ‡ЂЏ€‘…‰',
       'ЉЋђђ…Љ–€џ ‡ЂЏ€‘…‰',
       'ЏђЋ‘ЊЋ’ђ ЃЂ‡› „ЂЌ›•',
       'ЌЋЊ…ђЂ ЉЂЉЋѓЋ ’€ЏЂ ‚Ђ‘ €Ќ’…ђ…‘“ћ’',
       'ЉЂЉ€… “„ЋЃ‘’‚Ђ ‚Ђ‘ €Ќ’…ђ…‘“ћ’',
       '‘’Ћ€ЊЋ‘’њ ЏђЋ†€‚ЂЌ€џ',
       '‚›‚Ћ„ ЏЋ ‘’Ћ€ЊЋ‘’€',
       'ЏЋЊЋ™њ',
       '’…Љ“™€‰ ‹€‘’€Ќѓ',
       '‚›•Ћ„');
 type gost=record
       nom:string[10];
       tip:string[30];
       etag:string[10];
       kom:string[5];
       stm:string[10];
       ud:string;
       end;               {dannie}

 var d,i:byte; fa:file of gost;  pol:gost;
     s:char; w,r:boolean;  ft:text;

         function proverd(s:string):boolean;
          var n,c:integer;
          begin proverd:=true;
          val(s,n,c);
          if c>0 then begin proverd:=false;writeln('ЋиЁЎЄ  ў ',c,' §­ ЄҐ')
          end;
          if n=0 then begin
          writeln('ЋиЁЎЄ !');proverd:=false;
          end;end;


         function provers(s:string):boolean;
          var n,c:integer;
          begin provers:=true;
          val(s,n,c);
          if c>0 then begin provers:=false;writeln('ЋиЁЎЄ  ў ',c,' §­ ЄҐ')
          end;                                      {rus}
          if n=0 then begin
          writeln('ЋиЁЎЄ !');provers:=false
          end                                         {rus}end;

         function provert(s:string):boolean;
           begin provert:=true;
             if s='‹ћЉ‘' then  begin end
             else if s='ЃЉ' then begin end
             else if s='ќЉ' then begin end
             else if s='«оЄб' then begin end
             else if s='‹оЄб' then begin end
             else if s='ЎЄ' then begin end
             else if s='нЄ' then begin end
             else if s='ќЄ' then begin end
             else if s='ЃЄ' then begin end
             else begin writeln('ЋиЁЎЄ !'); provert:=false end;
           end;

         function provere(s:string):boolean;
          var c,n:integer;
          begin provere:=true;
          val(s,n,c);
          if c>0 then begin provere:=false;writeln('ЋиЁЎЄ  ў ',c,' §­ ЄҐ')
          end                                         {rus}
          else
          if n>5 then begin provere:=false;
          writeln('Џа®бвЁвҐ ,­® ў Ј®бвЁ­ЁжҐ 5 нв ¦Ґ©') end;{rus}
          if n=0 then begin writeln('ЋиЁЎЄ  ўў®¤ ');provere:=false end
          end;                             {rus}

         function proverk(s:string):boolean;
          var c,n:integer;
          begin proverk:=true;
          val(s,n,c);
          if c>0 then begin proverk:=false;
          writeln('ЋиЁЎЄ  ў ',c,' §­ ЄҐ'){rus}
          end else if n>4 then begin
          proverk:=false;
          writeln('‚ Є ¦¤®¬ ­®¬ҐаҐ ­Ґ Ў®«ҐҐ 4е Є®¬­ в'){rus}
          end;
          if n=0 then begin writeln('ЋиЁЎЄ  ўў®¤ ');proverk:=false end
          end;                         {rus}

         function provern(s:string):boolean;
          var c,n:integer;
          begin provern:=true;
          val(s,n,c);
          if c>0 then begin provern:=false;
          writeln('ЋиЁЎЄ  ў ',c,' §­ ЄҐ'){rus}
          end else if n>600 then begin
          provern:=false;
          writeln('‚ Ј®бвЁ­ЁжҐ 599 ­®¬Ґа®ў')
          end;                        {rus}
          if n=0 then begin writeln('ЋиЁЎЄ  ўў®¤ ');provern:=false end
          end;                        {rus}

         function proveru(s:string):boolean;
          var i:integer; c:char;
          begin proveru:=true;
          for i:=1 to length(s) do begin c:=s[i];
          case c of
          'Ђ'..'џ',' '..'п',' ':begin end {rus}
          else begin writeln('ЋиЁЎЄ  ',i,' §­ ЄҐ');proveru:=false
          end end end end;           {rus}

          {}

                  procedure vvod;
 var
 i:byte;
 s,otv:char;
begin
     window(1,1,80,25);textbackground(red);textcolor(7);
     clrscr;
     gotoxy(35,10);write('Ћ‘’ЋђЋ†ЌЋ!');   {RUS}
gotoxy(18,11);writeln('ЏЋ‚’ЋђЌ›‰ ‚‚Ћ„ “Ќ€—’Ћ†€’ ‘“™. „ЂЌЌ›…');{rus}
                      gotoxy(26,12);
                      writeln('Ѓ“„…’… ‚‚Ћ„€’њ?(1-„Ђ,0-Ќ…’)'); {rus}
     gotoxy(26,13);
     readln(otv);
if otv='1' then begin
rewrite(fa); i:=1;
repeat
  clrscr;   gotoxy(10,2);
  write('‡ЂЏ€‘њ ',i); writeln;    i:=i+1;   {rus}
            repeat
            writeln('‚ўҐ¤ЁвҐ ­®¬Ґа  Ї ав ¬Ґ­в®ў(1-599)');         {rus}
            readln(pol.nom)
            until provern(pol.nom);
            repeat
            writeln('‚ўҐ¤ЁвҐ нв ¦(1-5)');    {rus}
            readln(pol.etag);
            until provere(pol.etag);
            repeat
            writeln('‚ўҐ¤ЁвҐ вЁЇ  Ї ав ¬Ґ­в®ў');{rus}
writeln('‹оЄб,ЃЁ§­Ґб-Є« бб=ЎЄ,ќЄ®­®¬=нЄ');
            readln(pol.tip);
            until provert(pol.tip);
            repeat
            writeln('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® Є®¬­ в(1-4)'); {rus}
            readln(pol.kom)
            until proverk(pol.kom);
            repeat
            writeln('‚ўҐ¤ЁвҐ бв®Ё¬®бвм Їа®¦Ёў ­Ёп ў бгвЄЁ(ђгЎ)');   {rus}
            readln(pol.stm)
            until provers(pol.stm);
            repeat
            writeln('‚ўҐ¤ЁвҐ ®б­®ў­лҐ 㤮Ўбвў  (ў бва®Єг)');{rus}
            readln(pol.ud)
            until proveru(pol.ud);
       write(fa,pol);
      writeln('„«п ўл室  ­ ¦¬ЁвҐ "Esc"');                     {rus}
  s:=readkey;
  until s=#27;
  close(fa)  end
else begin  end;end;


                   procedure vivtekbas;
                   begin
                   textcolor(green); gotoxy(15,5);
                   writeln(ft,'Ќ®¬Ґа  Ї ав ¬Ґ­в®ў');
                   write('Ќ®¬Ґа  Ї ав ¬Ґ­в®ў'); {rus} gotoxy(15,6);
                   write(pol.nom);
                   writeln(ft,'**********************************');
                   writeln(ft,'Ќ®¬Ґа:');
                   writeln(ft,pol.nom);
                   gotoxy(15,8); writeln(ft,'ќв ¦');
                   write('ќв ¦ '); gotoxy(15,9);
                   write(pol.etag);writeln(ft,pol.etag);gotoxy(15,11);
                   write('’ЁЇ: ');write(pol.tip);
                   writeln(ft,'’ЁЇ:');writeln(ft,pol.tip);
                   gotoxy(15,13);
                   write('Љ®¬­ в: ');write(pol.kom);{rus}
                   writeln(ft,'Љ®¬­ в:');writeln(ft,pol.kom);
                   gotoxy(15,15);
                   write('‘в®Ё¬®бвм Їа®¦Ёў ­Ёп ў бгвЄЁ(ђгЎ)');gotoxy(15,16);   {rus}
                   write(pol.stm);
                   writeln(ft,'‘в®Ё¬®бвм Їа®¦Ёў ­Ёп ў бгвЄЁ(ђгЎ)');
                   writeln(ft,pol.stm);
                   gotoxy(15,18);
                   write('‚ ­ «ЁзЁЁ: ');              {rus}
                   write(pol.ud);
                   writeln(ft,'‚ ­ «ЁзЁЁ:');writeln(ft,pol.ud);
                   writeln(ft,'**********************************');
                   textcolor(7);
                   end;



                                  procedure prosmotr;
 var otv,otv2,s:char;j,i:integer;vih:boolean;
begin
                    window(1,1,80,25);
                   textbackground(red);textcolor(7); clrscr;
                   gotoxy(10,3);write('Џа®б¬®ва Ў §л ¤ ­­ле'); {rus}
                   reset(fa);rewrite(ft);
                   writeln(ft,'Ќ®¬Ґа  ў Ј®бвЁ­ЁжҐ "PALAS"');{rus}
  j:=filesize(fa);
  i:=0;vih:=false;
  repeat
  seek(fa,i);
  read(fa,pol);vivtekbas;
  i:=i+1;
  gotoxy(15,24);write('„«п ўл室  ­ ¦¬ЁвҐ"Esc"');s:=readkey;
  if (s=#27)or(i=j) then vih:=true;
  clrscr;
  until vih;
  close(fa);close(ft)
  end;



                  procedure dopoln;
                  var i:integer;otv:char;
                  begin window(1,1,80,25);
                  textbackground(red);
                  textcolor(7);
                  clrscr;gotoxy(10,3);write('„®Ї®«­Ґ­ЁҐ Ў §л');  {rus}
                  gotoxy(10,4);
                  write('Ѓг¤ҐвҐ ўў®¤Ёвм ­®ўлҐ §­ зҐ­Ёп(1-¤ ,0-­Ґв)'); {rus}
                  readln(otv);
                  if otv='1' then begin clrscr;  rewrite(ft);
                  reset(fa); i:=filesize(fa);seek(fa,i);
                  repeat
                  i:=i+1;writeln('‚ў®¤ § ЇЁбЁ ',i);        {rus}
                              repeat
            writeln('‚ўҐ¤ЁвҐ ­®¬Ґа  Ї ав ¬Ґ­в®ў(1-599)');         {rus}
            readln(pol.nom)
            until provern(pol.nom);
            repeat
            writeln('‚ўҐ¤ЁвҐ нв ¦(1-5)');    {rus}
            readln(pol.etag);
            until provere(pol.etag);
            repeat
            writeln('‚ўҐ¤ЁвҐ вЁЇ');{rus}
writeln('‹оЄб,ЎЁ§­Ґб-Є« бб=ЎЄ,нЄ®­®¬=нЄ');
            readln(pol.tip);
            until provert(pol.tip);
            repeat
            writeln('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® Є®¬­ в(1-4)'); {rus}
            readln(pol.kom)
            until proverk(pol.kom);
            repeat
            writeln('‚ўҐ¤ЁвҐ бв®Ё¬®бвм Їа®¦Ёў ­Ёп ў бгвЄЁ(‚ агЎ)');   {rus}
            readln(pol.stm)
            until provers(pol.stm);
            repeat
            writeln('‚ўҐ¤ЁвҐ ®б­®ў­лҐ 㤮Ўбвў (‚ бва®Єг)');{rus}
            readln(pol.ud)
            until proveru(pol.ud);
       write(fa,pol);
       writeln(ft,'Ќ®ўлҐ § ЇЁбЁ');
       writeln(ft,'Ќ®¬Ґа:');writeln(ft,pol.nom);
       writeln(ft,'ќв ¦:');writeln(ft,pol.etag);
       writeln(ft,'’ЁЇ:');writeln(ft,pol.tip);
       writeln(ft,'Љ®«-ў® Є®¬­ в:');writeln(ft,pol.kom);
       writeln(ft,'‘в®Ё¬®бвм Їа®¦Ёў ­Ёп');writeln(ft,pol.stm);
       writeln(ft,'‚ ­ «ЁзЁЁ:');writeln(ft,pol.ud);
      writeln('„‹џ ‚›•Ћ„Ђ ЌЂ†Њ€’… "Esc"');                     {rus}
  s:=readkey;
  until s=#27;
   close(fa);close(ft)  end
   else begin end;
   end;


                                 procedure udalenie;
                   var fv:file of gost;
                   pris:boolean;udnom:string[5];otv,otv2:char;
                   begin window(1,1,80,25);
                   textbackground(red);clrscr;gotoxy(10,3);textcolor(7);
                   write('“¤ «Ґ­ЁҐ § ЇЁбҐ©');gotoxy(10,4);
              {rus} write('“ўҐаҐ­л ,зв® е®вЁвҐ г¤ «Ёвм § ЇЁбм?(1-¤ ,0-­Ґв)');
                   readln(otv);
                   if otv='1' then begin clrscr;
                   pris:=false;assign(fv,'my.buf');
                   rewrite(fv);reset(fa);
                   repeat
            {rus}  writeln('‚ўҐ¤ЁвҐ г¤ «пҐ¬л© ­®¬Ґа(1-599)');
                   readln(udnom)
                   until provern(udnom);
                   while not eof(fa) do begin
                   read(fa,pol);
                   if pol.nom=udnom then begin
                   pris:=true;
                {rus} writeln('‘®®вўҐвбвўгой п § ЇЁбм ­ ©¤Ґ­ ');
                   rewrite(ft);writeln(ft,'“¤ «с­­ п § ЇЁбм');
                   writeln(ft,'************************************');
                   vivtekbas;writeln;
                   writeln('Ѓг¤ҐвҐ г¤ «пвм(1-¤ ,0-­Ґв)');
                   readln(otv2);end
                   else write(fv,pol);end;
                   close(fa);close(fv); close(ft);
                   if otv2='1' then begin
                   if pris then begin erase(fa);
                   rename(fv,ima);end
                {rus} else begin writeln('’ Є®© § ЇЁбЁ ў Ў §Ґ ­Ґв');
                   readln;erase(fv);end  end
                   else begin end  end
                   else begin end; end;


procedure correct;
 var otv,otv2:char;vih:boolean;cornom:string;i:byte;
   fv:file of gost;
   iztip,izetag,izkom,izud,izstm:string;
BEGIN  rewrite(ft);
repeat
 vih:=true;i:=0;
 window(1,1,80,25);textbackground(red);textcolor(7);clrscr;
  gotoxy(10,3);write('Љ®а४жЁп Ў §л ¤ ­­ле');
  gotoxy(7,4);write('Ќ з вм Є®а४жЁо?(1-¤ ,0-­Ґв)');
  readln(otv);
  if otv='1' then begin clrscr; assign(fv,'my.buf');
  repeat
  writeln('‚ўҐ¤ЁвҐ Є®а४вЁагҐ¬л© ­®¬Ґа');
  readln(cornom);
  until provern(cornom);
  reset(fa);rewrite(fv);REWRITE(FT);
  while not eof(fa) do begin
  read(fa,pol);
  if pol.nom=cornom then begin i:=i+1;
        repeat  vih:=false;
                clrscr;
                vivtekbas; textcolor(green);gotoxy(41,3);
    write('—в® ўл е®вЁвҐ Ё§¬Ґ­Ёвм ў ¤ ­­®© § ЇЁбЁ?');   {rus}
    gotoxy(50,5);write('1-’ЁЇ');{rus}
    gotoxy(50,6);write('2-ќв ¦');{rus}
    gotoxy(50,7);write('3-Љ®«ЁзҐбвў® Є®¬­ в');
    gotoxy(50,8);write('4-“¤®Ўбвў ');
    gotoxy(50,9);write('5-‘в®Ё¬®бвм Їа®¦Ёў ­Ёп');
    gotoxy(50,10);write('0-‚л室');gotoxy(56,23);
    readln(otv2);
  case otv2 of
    '1':begin clrscr;repeat
    writeln('Vvedite noviy tip');readln(iztip)
                     until provert(iztip);  pol.tip:=iztip end;
    '2':begin clrscr;repeat
    writeln('Vvedite noviy etag');readln(izetag)
                     until provere(izetag);  pol.etag:=izetag end;
    '3':begin clrscr;repeat
    writeln('Vvedite novoe kol-vo komnat(1-4)');readln(izkom)
                     until proverk(izkom);  pol.kom:=izkom end;
    '4':begin clrscr;repeat
    writeln('Vvedite novie udobstva');readln(izud)
                     until proveru(izud);  pol.ud:=izud end;
    '5':begin clrscr;repeat
    writeln('Vvedite noviy soimost progivania v sut.(rub)');
    readln(izstm)
                     until provers(izstm);  pol.stm:=izstm end;
    '0':begin vih:=true; end
    else begin clrscr;writeln('ЋиЁЎЄ ');vih:=false;readln; end;
    end;
    clrscr;writeln('€§¬Ґ­с­­ п § ЇЁбм:');
    writeln(ft,'€§¬Ґ­с­­ п § ЇЁбм:');
    vivtekbas;readln;
    until vih;
    write(fv,Pol);
    end
    else write(fv,pol);
      end;
    close(fa);close(fv); close(ft);
    if i>0 then begin erase(fa);rename(fv,ima) end;
    if i=0 then begin  erase(fv);vih:=false ;writeln('ЌҐв в Є®© § ЇЁбЁ');
    readln
    end
    end
  until vih;
  end;

procedure vivud;
var otv,otv2:char;  pris,viv:boolean;  i:byte;
fx,fy:file of gost;nud:string;
BEGIN
repeat
 window(1,1,80,25);textbackground(red);textcolor(7);clrscr;
 gotoxy(10,3);write('‚лў®¤ ­®¬Ґа®ў Ї® 㤮Ўбвў ¬');
  gotoxy(10,4);write('Ќ з вм Ї®ЁбЄ?(1-¤ ,0-­Ґв)');
  readln(otv);
  if otv='1' then begin  clrscr;
  assign(fx,'my1.buf');rewrite(fx);
  reset(fa);
  while not eof(fa) do begin
  read(fa,pol);write(fx,pol) end;
  close(fa);close(fx);
repeat viv:=true;    i:=0;
          reset(fx);assign(fy,'my2.buf');rewrite(fy);
                 repeat
         writeln('‚ўҐ¤ЁвҐ ­г¦­лҐ 㤮Ўбв  (Ї®Є  1 ­ Ё¬Ґ­®ў ­ЁҐ)');
         readln(nud);
         until proveru(nud);
        while not eof(fx) do begin
        read(fx,pol);
        if pos(nud,pol.ud)>0 then  begin i:=i+1;
        write(fy,pol);pris:=true;
        end;  end;
        if i=0 then begin
          pris:=false;  viv:=true;
        readln end;

         close(fx);close(fy);
                 if pris=true then begin
                   erase(fx);rename(fy,'my1.buf') end
                     else erase(fy);
           if pris=true then begin
           writeln('Ќ ©¤Ґ­® ',i,' §­ зҐ­Ё©');
           writeln('1-Џа®¤®«¦Ёвм,0-ђҐ§г«мв в');readln(otv2);

           if otv2='1' then viv:=false
           else begin  reset(fx);rewrite(ft);clrscr;
           while not eof(fx) do begin
           read(fx,pol);
           vivtekbas;readln end; close(ft) end end;

           if pris=false then begin writeln('’ Є®© § ЇЁбЁ ­Ґв');viv:=true;
           readln end;

  until viv;
   end else pris:=true;
  until pris;end;


procedure vivtip;
 var ntip:string;otv:char;
     i:byte;g:boolean;
begin
repeat g:=true;
     window(1,1,80,25);textbackground(red);textcolor(7);clrscr;
     gotoxy(10,3);write('‚лў®¤ ­®¬Ґа®ў § ¤ ­­®Ј® вЁЇ ');
     gotoxy(11,4);write('Ќ з вм Ї®ЁбЄ?(1-¤ ,0-­Ґв)');
     readln(otv);
  if otv='1' then begin   clrscr;
    reset(fa);i:=0;
    repeat
    writeln('‚ўҐ¤ЁвҐ Ё­вҐаҐбгойЁ© вЁЇ');
    writeln('(‹оЄб,ќЄ®­®¬ЁзҐбЄЁ©=нЄ,ЃЁ§­Ґб-Љ« бб=ЎЄ)');
    readln(ntip)
    until provert(ntip);
    while not eof(fa) do begin
    read(fa,pol);
    if pol.tip=ntip then begin  clrscr;textcolor(green);   i:=i+1;
      gotoxy(10,5);write('Ќ®¬Ґа: ');write(pol.nom);
      gotoxy(10,7);write('Љ®«ЁзҐбвў® Є®¬­ в: ');write(pol.kom);
      gotoxy(10,9);write('‘в®Ё¬®бвм Їа®¦Ёў ­Ёп:');
      gotoxy(10,10);write(pol.stm);readln;end;
    end;
    if i=0 then begin clrscr;writeln('‘®®вўҐвбвўго饩 § ЇЁбЁ ­Ґв');readln;
    g:=false;end;      rewrite(ft);
   writeln(ft,'Ќ®¬Ґа  § ¤ ­­®Ј® вЁЇ ');writeln(ft,ntip);
   writeln(ft,'Ќ®¬Ґа: ');writeln(ft,pol.nom);
   writeln(ft,'Љ®«ЁзҐбвў® Є®¬­ в: ');writeln(ft,pol.kom);
    writeln(ft,'‘в®Ё¬®бвм Їа®¦Ёў ­Ёп:');
    writeln(ft,pol.stm);
    close(ft);
    end
until g;
end;


 procedure stmprog;
 var otv:char;gnom,gday:string; st:real;n,g,d,c:integer;
k:boolean;i:byte;
begin
repeat k:=true;
 window(1,1,80,25);textbackground(red);textcolor(7);clrscr;
 gotoxy(10,3);write('‚лў®¤ бв®Ё¬®бвЁ Їа®¦Ёў ­Ёп');
 gotoxy(10,4);write('Ќ з вм Ї®ЁбЄ?(1-¤ ,0-­Ґв)');
    readln(otv);
 if otv='1' then begin     clrscr;
     reset(fa);i:=0; rewrite(ft);
     repeat
     writeln('‚ Є Є®¬ ­®¬ҐаҐ ўл е®вЁвҐ ®бв ­®ўЁвмбп?(1-599)');
     readln(gnom)
     until provern(gnom);
     repeat
     writeln('‘Є®«Є® ¤­Ґ© ўл е®вЁвҐ §¤Ґбм ¦Ёвм?');
     readln(gday)
     until proverd(gday);
   while not eof(fa) do begin
      read(fa,pol);
      if pol.nom=gnom then begin i:=i+1;
      clrscr;vivtekbas;val(pol.stm,n,c);val(gday,g,d);
      st:=n*g;
      gotoxy(5,22);write('‘в®Ё¬®бвм Їа®¦Ёў ­Ёп: ');
      write(st:20:2);readln;  end  end;close(fa);
      if i=0 then begin clrscr;writeln('’ Є®© § ЇЁбЁ ­Ґв');readln;k:=false
      end;   rewrite(ft);
      writeln(ft,'‘в®Ё¬®бвм Їа®¦Ёў ­Ёп ў ­®¬ҐаҐ ');
      write(ft,gnom);writeln(ft,'‡  ');write(ft,gday);writeln(ft,' ¤­Ґ©');
      writeln(ft,'ђ ў­ : ');write(ft,st);
      end;       close(ft);
          until k;
    end;


                                procedure vivstmvos;
 var otv:char;vih:boolean;
     imday,imstm:string; m,n,k,c,l,g,j:integer;   i:byte;
     s,res:real;  fv:file of gost;
begin  repeat
 window(1,1,80,25);textbackground(red);textcolor(7);clrscr;
 gotoxy(10,3);write('‚лў®¤ ­®¬Ґа®ў Ї® ў®§¬®¦­®бвп¬');
 gotoxy(8,4);    write('Ќ з вм Ї®ЁбЄ?(1-¤ ,0-­Ґв)');
 readln(otv);
 if otv='1' then begin clrscr;
    reset(fa);assign(fv,'my.buf');rewrite(fv);
    rewrite(ft);
  repeat
  writeln('‘Є®«мЄ® ¤­Ґ© ўл е®вЁвҐ ᤥбм ¦Ёвм?');
  readln(imday)
  until proverd(imday);
  repeat
  writeln('Ќ  Є Єго б㬬㠢л а бзЁвлў ҐвҐ?');
  readln(imstm)
  until provers(imstm);
  val(imday,m,c);val(imstm,n,k);
  s:=n/m;       i:=0;
 while not eof(fa) do begin
    read(fa,pol);   val(pol.stm,l,g);
    if s>=l then begin write(fv,pol);i:=i+1;end;
   end;
     close(fa);close(fv);
     if i>0 then begin reset(fv); vih:=true;
     clrscr;
     gotoxy(10,4);write('‚ ¬ Ї®¤®©¤гв б«Ґ¤гойЁҐ ­®¬Ґа :');readln;
     clrscr;
     while not eof(fv) do begin
      read(fv,pol);  val(pol.stm,l,j); res:=l*m;
      vivtekbas;
      gotoxy(5,23);write('ќв® ў ¬ ®Ў®©¤Ґвбп ў: ',res:10:2);
                         readln;
                         clrscr; end;
                 close(fv);
                         end;
    if i=0 then begin writeln('Џ®¤е®¤пйЁе ­®¬Ґа®ў ­Ґв');readln;vih:=false
                        end;
    erase(fv);
   end;
  until vih;
  end;


            procedure listing;
            var  s:string[80];n:byte;
            begin
            window(1,1,80,25);textbackground(red);
            textcolor(green);clrscr;
            n:=0; reset(ft);
            while not eof(ft) do begin
            readln(ft,s);n:=n+1;
            writeln(s);
            if ( n mod 25 =0)  then begin
             readln; ClrScr end;
                    end;
                    readln;close(ft);end;


   procedure help;
   var fh:text; s:string[80];
   begin
   clrscr;assign(fh,'serghelp.txt');reset(fh);
   window(1,1,80,25);textbackground(1);textcolor(7);clrscr;
   while not eof(fh) do begin
   readln(fh,s);
   writeln(s);
   end;
   close(fh);readln;
   end;




   procedure zastavka;
     var gd,gm,ec:integer;
     procedure nachalo;
      begin
       gd:=detect;
       initgraph(gd,gm,'egavga.bgi');
       ec:=graphresult;
       if ec<>0 then begin
        writeln('ЋиЁЎЄ  Ја дЁЄЁ');readln;
            halt(1);end;
            end;
     procedure risunok;
       begin end;
   begin
    nachalo;
    risunok;
    closeGraph;
    end;









BEGIN   {zastavka;}
          assign(fa,ima);  assign(ft,imt);   rewrite(ft);
          write(ft,'****************Џ“‘’Ћ******************');

  r:=true;
repeat w:=true;
 textbackground(1);
 clrscr;
 clreol;
 gotoxy(23,4);textcolor(5); write('*Њ…Ќћ*');            {rus}
 window(15,6,60,21);
 textbackground(1);clrscr;
 for i:=1 to 12 do begin
 window(16,6+i,60,6+i);textcolor(7);
 write(mas[i]) end;
 d:=1;
 window(16,6+d,32,6+d);
 textbackground(4);clrscr;
 write(mas[d]);
while w do begin
  s:=readkey;
 if lo(ord(s))=72 then begin
  window(16,6+d,60,6+d);
  textbackground(1);
  clrscr;
  write(mas[d]);
  textbackground(4);
  d:=d-1;
  if d=0 then d:=12;
  window(16,6+d,60,6+d);
  write(mas[d]);
  end;
 if lo(ord(s))=80 then
    begin
      textbackground(1);
      window(16,6+d,60,6+d);
      clrscr;
      write(mas[d]);
      textbackground(4);
      inc(d);
      if d=13 then d:=1;
      window(16,6+d,60,6+d);
      write(mas[d]);
    end;
 if lo(ord(s))=13 then
   case d of
   1:begin   vvod; w:=false end;
   2:begin   dopoln; w:=false end;
   3:begin udalenie; w:=false end;
   4:begin correct; w:=false end;
   5:begin prosmotr; w:=false end;
   6:begin vivtip; w:=false end;
   7:begin vivud; w:=false end;
   8:begin stmprog; w:=false end;
   9:begin vivstmvos;; w:=false end;
   10:begin help; w:=false end;
   11:begin listing; w:=false end;
   12:begin window(1,1,80,25);textbackground(0);
   textcolor(7);clrscr;          {pom}
   halt(1) end
   end
   end
until r=false;
end.