Разработать программу создания и корректировки файла, содержащего сведения о датах рождения сотрудников - Turbo Pascal

Формулировка задачи:

помогите пожалуйста!!!!!!!!Разработать программу создания и корректировки файла, содержащего сведения о датах рождения сотрудников. Каждый элемент этого файла должен содержать следующие данные: имя, фамилию и отчество сотрудника, день, месяц и год его рождения. Предусмотреть создание текстового файла, содержащего список сотрудников, которые отмечают свой день рождения в указанном месяце. Помогите разобраться с кодом((
Program xxx;
Uses crt;
label 10;
type sotrydniki=record
     imya:string;
     fam:string;
     otchestvo:string;
     den:integer;
     mes:string;
     god:integer;
     end;
SF= file of sotrydniki;
Var a:SF;
    i,z:integer;
    s:real;
{Џа®жҐ¤га* ᮧ¤**Ёп д*©«*}
Procedure Sozd (var a:sf);
Var i,j:integer;
    ss:sotrydniki;
begin
assign(a,'spiski.txt');
rewrite (a);
j:=1;
 while j<>0 do
          begin
          write (' ‚ўҐ¤ЁвҐ д*¬Ё«Ёо б®ваг¤*ЁЄ* ');
          readln (ss.fam);
          write ('‚ўҐ¤ЁвҐ Ё¬п б®ваг¤*ЁЄ* ');
          Readln (ss.imya);
          write (' ‚ўҐ¤ЁвҐ ®взҐбвў® б®ваг¤*ЁЄ* ');
          readln (ss.otchestvo);
          write (' ‚ўҐ¤ЁвҐ ¤Ґ*м ஦¤Ґ*Ёп ');
          readln (ss.den);
           write (' ‚ўҐ¤ЁвҐ ¬Ґбпж ஦¤Ґ*Ёп ');
          readln (ss.mes);
           write (' ‚ўҐ¤ЁвҐ Ј®¤ ஦¤Ґ*Ёп ');
          readln (ss.god);
          write (a,ss);
          writeln ('…б«Ё Є®*Ґж §*ЇЁбЁ **¦¬ЁвҐ 0');
          readln (j);
          end;
close (a);
end;
{Џа®жҐ¤га* ўлў®¤* д*©«* б §*ЇЁбп¬Ё}
Procedure vyvod (var a:sf);
Var i:integer;
    ss:sotrydniki;
    mesr:string;
begin
reset (a);
 writeln ('====================================');
 writeln ('|   ”*¬Ё«Ёп   |  €¬п  |  ЋвзҐбвў® | „Ґ*м | ЊҐбпж | ѓ®¤ |');
 writeln ('====================================');
  while not eof(a) do
   begin
    read (a,ss);
    write ('| ',ss.Fam :10,'  |');
    write ('| ',ss.Imya:7,'  |');
    write ('| ',ss.Otchestvo:10,'  |');
    write ('| ',ss.Den:2,'  |');
    write ('| ',ss.Mes:8,'  |');
    write ('| ',ss.God:5,'  |');
    writeln;
    writeln ('-----------------------------------');
   end;
close (a);
end;
{Џа®жҐ¤га* ¤®Ў*ў«Ґ*ЁҐ §*ЇЁбЁ}
procedure dozap (var a:sf);
 
Var i:char;
    ss:sotrydniki;
    H:integer;
    mesr:string;
Begin
 Reset(a);
 Seek (a,filesize(a));
    with ss do
          Begin
           write (' ‚ўҐ¤ЁвҐ ¬Ґбпж ஦¤Ґ*Ёп б®ваг¤*ЁЄ* ');
          readln (mesr);
          while not eof (a) do begin
 
          if ss.mes=mesr then
           write(ss.fam);   end;
       {  write ('‚ўҐ¤ЁвҐ Ё¬п б®ваг¤*ЁЄ* ');
          Readln (ss.imya);
          write (' ‚ўҐ¤ЁвҐ ®взҐбвў® б®ваг¤*ЁЄ* ');
          readln (ss.otchestvo);
          write (' ‚ўҐ¤ЁвҐ ¤Ґ*м ஦¤Ґ*Ёп ');
          readln (ss.den);
           write (' ‚ўҐ¤ЁвҐ ¬Ґбпж ஦¤Ґ*Ёп ');
          readln (ss.mes);
           write (' ‚ўҐ¤ЁвҐ Ј®¤ ஦¤Ґ*Ёп ');
          readln (ss.god);
          write (a,ss);      }
 
        {  writeln ('…б«Ё Є®*Ґж §*ЇЁбЁ **¦¬ЁвҐ 0');
          readln (h); }
          end;
close(a);
end;
begin
clrscr;
 
assign (a,'sss');
sozd(a);
dozap(a);
vyvod(a);
 
 
 
 
 
readln;
end.

Код к задаче: «Разработать программу создания и корректировки файла, содержащего сведения о датах рождения сотрудников - Turbo Pascal»

textual
Program xxx;
Uses crt;
label 10;
type sotrydniki=record
     imya:string;
     fam:string;
     otchestvo:string;
     den:integer;
     mes:string;
     god:integer;
     end;
SF= file of sotrydniki;
Var a:SF;
    i,z:integer;
    s:real;
 
Procedure Sozd (var a:sf);
Var i,j:integer;
    ss:sotrydniki;
begin
assign(a,'spiski.txt');
rewrite (a);
j:=1;
 while j<>0 do
          begin
          write ('Введите фамилию ');
          readln (ss.fam);
          write ('Введите имя ');
          Readln (ss.imya);
          write (' Введите отчество ');
          readln (ss.otchestvo);
          write ('Введите день ');
          readln (ss.den);
           write ('Введите месяц ');
          readln (ss.mes);
           write (' Введите год ');
          readln (ss.god);
          write (a,ss);
          writeln ('Если конец записи нажмите 0');
          readln (j);
          end;
close (a);
end;
 
Procedure vyvod (var a:sf);
Var i:integer;
    ss:sotrydniki;
    mesr:string;
begin
reset (a);
 writeln ('====================================');
 writeln ('|  Фамилия   |  Имя  |  Отчество |День | Месяц | Год |');
 writeln ('====================================');
  while not eof(a) do
   begin
    read (a,ss);
    write ('| ',ss.Fam :10,'  |');
    write ('| ',ss.Imya:7,'  |');
    write ('| ',ss.Otchestvo:10,'  |');
    write ('| ',ss.Den:2,'  |');
    write ('| ',ss.Mes:8,'  |');
    write ('| ',ss.God:5,'  |');
    writeln;
    writeln ('-----------------------------------');
   end;
close (a);
end;
 
procedure dozap (var a:sf);
 
Var i:char;
    ss:sotrydniki;
    H:integer;
    mesr:string;
Begin
 Reset(a);
 Seek (a,filesize(a));
    with ss do
          Begin
           write ('Введите необходимы месяц ');
          readln (mesr);
          while not eof (a) do begin
 
          if ss.mes=mesr then
           write(ss.fam);   end;
     
 
     
          end;
close(a);
end;
begin
clrscr;
 
assign (a,'sss');
sozd(a);
dozap(a);
vyvod(a);
 
 
 
 
 
readln;
end.

5   голосов, оценка 3.800 из 5


СОХРАНИТЬ ССЫЛКУ