I
Intersap
Вот такой вопрос:
Написать две программы.
Первая программа должна формировать начальные ведомости про студентов и записывать их в типизированный файл.
Вроде бы так:
Вторая программа должна считывать информацию с типизированного файла (созданого первой программой), находить предмет, который суденты сдали лучше всего, а результаты записывать в текстовый файл.
Программа сделана не до конца:
Помогите чем могите
Написать две программы.
Первая программа должна формировать начальные ведомости про студентов и записывать их в типизированный файл.
Вроде бы так:
Код:
program lab14;
uses crt;
type Stud = record
Name,Group: String;
Data: Integer;
Gender: String;
end;
Ispit1 = record
Teormeh,Mathematica,Phisics,Geometry:Integer;
end;
Ispit2 = record
Teormeh,Mathematica,Sopromat:Integer;
end;
var i,mat0,mat,phys0,phys,meh0,meh,geom0,geom,porivn1,porivn2,predmet: Integer;
Student:Stud;
Exam1:Ispit1;
Exam2:Ispit2;
ft: text;
begin
clrscr;
writeln;
for i:=1 to 17 do begin
textcolor(14);
write(i);
textcolor(white);
write(' ФИО студента: ');
readln(Student.Name);
write(' Группа: ');
readln(Student.Group);
write(' Дата рождения: ');
readln(Student.Data);
write(' Пол студента: ');
readln(Student.Gender);
writeln(' Оценки за первую сессию:');
write(' Физика: ');
readln(Exam1.Phisics);
write(' Математика: ');
readln(Exam1.Mathematica);
write(' Теоретическая механика: ');
readln(Exam1.Teormeh);
write(' Начертательная геометрия: ');
readln(Exam1.Geometry);
writeln(' Оценки за вторую сессию:');
write(' Математика: ');
readln(Exam2.Mathematica);
write(' Теоретическая механика: ');
readln(Exam2.Teormeh);
write(' Сопротивление материалов: ');
readln(Exam2.Sopromat);
writeln;
end;
assign(ft,'stud.txt');
rewrite(ft);
for i:=1 to 17 do
begin
writeln(ft,i,' ФИО: ',Student.Name);
writeln(ft,' Группа: ',Student.Group);
writeln(ft,' Дата рождения: ',Student.Data);
writeln(ft,' Пол: ',Student.Gender);
writeln(ft,' Оценки за первую сессию:');
writeln(ft,' Физика: ',Exam1.Phisics);
writeln(ft,' Математика: ',Exam1.Mathematica);
writeln(ft,' Теоретическая механика: ',Exam1.Teormeh);
writeln(ft,' Начертательная геометрия: ',Exam1.Geometry);
writeln(ft,' Оценки за вторую сессию:');
writeln(ft,' Математика: ',Exam2.Mathematica);
writeln(ft,' Теоретическая механика: ',Exam2.Teormeh);
writeln(ft,' Сопротивление материалов: ',Exam2.Sopromat);
writeln;
end;
close(ft);
end.
Вторая программа должна считывать информацию с типизированного файла (созданого первой программой), находить предмет, который суденты сдали лучше всего, а результаты записывать в текстовый файл.
Программа сделана не до конца:
Код:
program lab14;
uses crt;
type Ispit1 = record
Teormeh,Mathematica,Phisics,Geometry:Integer;
end;
var Exam1:Ispit1;
ft: text;
i,mat0,mat,phys0,phys,meh0,meh,geom0,geom,porivn1,porivn2,predmet:Integer;
begin
clrscr;
writeln;
assign(ft,'stud.txt');
reset(ft);
считать данные - ?
mat0:=0;
phys0:=0;
meh0:=0;
geom:=0;
for i:=1 to 17 do begin
phys:=Exam1.Phisics;
phys0:=phys0+phys;
mat:=Exam1.Mathematica;
mat0:=mat0+mat;
meh:=Exam1.Teormeh;
meh0:=meh0+meh;
geom:=Exam1.Geometry;
geom0:=geom0+geom;
end;
if (mat0>phys0) then porivn1:=mat0
else porivn1:=phys0;
if (meh0>geom0) then porivn2:=meh0
else porivn2:=geom0;
if (porivn1>porivn2) then predmet:=porivn1
else predmet:=porivn2;
if (predmet=phys0) then N:='Лучше стали физику'
if (predmet=mat0) then N:='Лучше стали математику';
if (predmet=meh0) then N:='Лучше стали механику';
if (predmet=geom0) then N:='Лучше стали графику';
writeln(ft,N);
readkey;
close(ft);
end.
Помогите чем могите