Создайте файл, содержащий записи о каждом из 20 студентов вуза следующей структуры: фамилия, имя, отчество, пол, возраст, курс. Причем в фамилии, имени и отчестве – не более 12 букв, пол указывается буквами М и Ж, возраст – целое от 16 до 30, курс – целое от 1 до 5. Написать программу, которая вводит эту информацию и печатает следующие данные: номер курса, на котором наибольший процент мужчин — Pascal(Паскаль)

program test;
uses crt;
type st=record
f,i,o:string[12];
p:char;
v:16..30;
k:1..5;
end;
const n=20;
var fil:file of st;s: st;j,n1,n2,c1,c2:integer;
begin
clrscr;
assign(fil,'test.txt');
rewrite(fil);
for j:=1 to n do
begin
write('Vvedite fam stud ',j,' ');readln(s.f);
write('Vvedite im stud ',j,' ');readln(s.i);
write('Vvedite otc stud ',j,' ');readln(s.o);
repeat
write('Vvedite pol stud ',j,' ');readln(s.p);
until (s.p='m') or (s.p='j');
repeat
write('Vvedite vozr stud ',j,' ');readln(s.v);
until (s.v>=16) and (s.v<=30);
repeat
write('Vvedite kurs stud ',j,' ');readln(s.k);
until (s.k>=1) and (s.k<=5);
write(fil,s);
end;
close(fil);
c2:=0;
for n1:=1 to 5 do
begin
for j:=1 to n do
begin
c1:=0;
assign(fil,'test.txt');
reset(fil);
read(fil,s);
if (s.p='m') and (s.k=n1) then inc(c1);
end;
if n1=1 then begin c2:=c1; n2:=n1;end
else
if c1>c2 then begin c2:=c1; n2:=n1;end;
close(fil);
end;
writeln('Na kurse ',n2,' samoe bolishoe kol-vo m=',c2);
readln;
end.

Leave a Comment

32 − 28 =