В входной файл записать список студентов группы и информацию про день, месяц и год рождения каждого. (Количество студентов в группе — 25). Вывести на экран информацию про студентов, которые моложе 18 лет по старшинству — Pascal(Паскаль)

uses
  dos;
type
  tstudent=record
             name,surname:string[10];
             dobyear:1980..2007;
             dobmonth:1..12;
             dobday:1..31;
           end;
var
  st:array[1..25]of tstudent;
  fst:file of tstudent;
  b:tstudent;
  i,k,y,m,d,dn:word;
begin
  {Ввод данных}
  for i:=1 to 3 do
  begin
    writeln('Student ',i);
    write('Imya:     ');
    readln(st[i].name);
    write('Familiya: ');
    readln(st[i].surname);
    write('Data rojdeniya (dd mm yyyy): ');
    read(st[i].dobday);
    read(st[i].dobmonth);
    read(st[i].dobyear);
    readln;
  end;
  {Сортировка по старшинству}
  for k:=3 downto 2 do
  for i:=1 to k-1 do
  if st[i].dobyear>st[i+1].dobyear then
  begin
    b:=st[i];
    st[i]:=st[i+1];
    st[i+1]:=b;
  end;
  assign(fst,'stud.txt');  
  rewrite(fst);
  {Запись данных в файл}
  for i:=1 to 3 do write(fst,st[i]);
  close(fst);
  getdate(y,m,d,dn);{Определение текущей даты}
  {Вывод на экран студентов, возраст которых < 19}
  for i:=1 to 3 do if (y-st[i].dobyear)<19 then
  writeln(st[i].surname,' ',st[i].name,'    ',
    st[i].dobday,' ',st[i].dobmonth,' ',st[i].dobyear);
  readln;
end.

Leave a Comment

+ 45 = 55