Skip to content

Instantly share code, notes, and snippets.

@vertrigo
Created February 5, 2013 18:48
Show Gist options
  • Save vertrigo/4716649 to your computer and use it in GitHub Desktop.
Save vertrigo/4716649 to your computer and use it in GitHub Desktop.
program l2;
uses crt;
type struct = record
fam, group:string[30];
year:integer;
eval:array[1..5] of integer;
end;
var info:struct; f:text; fc_name:string; fc_n:integer; x_gr:string[30]; x_year:integer;
procedure get_string(st:string;var s:struct);
var i,kod:integer;
begin
with s do
begin
fam:=copy(st,1,pos(' ',st)-1); delete(st,1,pos(' ',st));
val(copy(st,1,pos(' ',st)-1),year,kod); delete(st,1,pos(' ',st));
group:=copy(st,1,pos(' ',st)-1); delete(st,1,pos(' ',st));
for i:=1 to 5 do begin
val(copy(st,1,pos(' ',st)-1),eval[i],kod); delete(st,1,pos(' ',st));
end;
end;
end;
procedure put_head(title:string);
begin
writeln(title);
writeln('');
writeln('Фамилия Год Рождения Группа Оценка1 Оценка2 Оценка3 Оценка4 Оценка5');
writeln('');
end;
procedure out_data(s:struct);
begin
with s do
writeln(fam:12,year:11,group:14,eval[1]:7,eval[2]:7,eval[3]:8,eval[4]:8,eval[5]:9);
end;
procedure out_info(in_gr:string; in_year:integer);
var st:string; data:struct;
begin
reset(f);
put_head('Требуемые студенты: ');
while not eof(f) do
begin
readln(f,st); get_string(st, data);
if ((data.group = in_gr) and (data.year < in_year)) then
out_data(data);
end;
writeln;
end;
Begin
clrscr;
assign(f,'data.txt');
writeln('Введите название группы:');
readln(x_gr);
writeln('Введите год: ');
readln(x_year);
out_info(x_gr, x_year);
close(f);
readkey;
End.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment