Разработать базу данных «Абитуриенты» (фамилия, имя, адрес, оценки по трем экзаменам, средний балл). Вывести на экран данные по абитуриентам, сдавшим вступительные экзамены со средним баллом не ниже 4,5 — Pascal(Паскаль)

uses crt;
type Tuchen=record
            fam:string[15];
            im: string[15];
            adr:string[15];
            ocn:array[1..3]of byte;
            srb:real;
           end;
var sp:array[1..50] of Tuchen;
    n,i,j,f:byte;
    c:char;
begin
clrscr;
writeln('Введите данные об учениках, окончание ввода Esc:');
n:=0;
repeat
n:=n+1;
writeln(' Ученик',n);
with sp[n] do
 begin
  write('   Фамилия: ');readln(fam);
  write('   Имя: ');readln(im);
  write('   Адрес: ');readln(adr);
  writeln(' Три оценки:');
  srb:=0;
  for j:=1 to 3 do
   begin
    repeat
    write('  Оценка ',j,'=');
    readln(ocn[j]);
    until ocn[j] in [2..5];
    srb:=srb+ocn[j]/3;
   end;
 end;
c:=readkey;
until c=#27;
clrscr;
writeln('      Список абитуриентов, сдавших вступительные экзамены:');
writeln('                со средним баллом не ниже 4.5');
writeln;
writeln('------------------------------------------------------------------');
writeln('|    Фамилия    |     Имя    |      Адрес     | Оценки | Ср.балл |');
writeln('------------------------------------------------------------------');
f:=0;
for i:=1 to n  do
if sp[i].srb>=4.5 then
 begin
  f:=1;
  with sp[i] do
   begin
    gotoXY(1,whereY); write('| ',sp[i].fam);
    gotoXY(17,whereY); write('| ',sp[i].im);
    gotoXY(30,whereY); write('| ',sp[i].adr);
    gotoXY(47,whereY); write('| ');
    for j:=1 to 3 do  write(' ',sp[i].ocn[j]);
    gotoXY(56,whereY); write('|',sp[i].srb:6:2);
    gotoXY(66,whereY);writeln('|');
   end;
 end;
writeln('------------------------------------------------------------------');
if f=0 then write('Таких абитуриентов нет!');
readln
end.

Leave a Comment

+ 41 = 44