Используя записи, написать программу, которая заполняет анкеты студентов - Pascal ABC (13725)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер форум, есть задание, которое нужно будет сдать до завтрашнего утра, сам я по времени не успеваю сдеалтрь все, так что пожалуйста, помогите студенту, который валил сессию, а теперь восстанавливается. Используя записи, написать программу, которая заполняет анкеты студен-тов. Анкета включает в себя ФИО, возраст, пол, номер группы и оценки по че-тырем предметам. Программа выводит ФИО студента, который имеет макси-мальный балл по четырем предметам.

Решение задачи: «Используя записи, написать программу, которая заполняет анкеты студентов»

textual
Листинг программы
program pr;
type
 student=record 
 numbergroup:integer;
 nameson:string[50];
 age:integer;
 sex:string[20];
end;
marks=record
 phisical:integer;
 math:integer;
 prog:integer;
 history:integer;
end;
var
i,n:integer;
stud:array [1..100] of student; // массив студентов (массив структур student)
ocenki:array [1..100] of marks;
procedure fill();
var i:integer;
f:file of student;
begin
assign(f,'c:\studentsfill.txt');
rewrite(f);
for i:=1 to n do begin
writeln('Введите номер группы');
readln(stud[i].numbergroup);
writeln('Введите имя,фамилию,отчество студента');
readln(stud[i].nameson);
writeln('Введите возраст');
readln(stud[i].age);
writeln('Введите пол');
readln(stud[i].sex);
writeln('Введите оценки по физике');
readln(ocenki[i].phisical);
writeln('Введите оценки по математике');
readln(ocenki[i].math);
writeln('Введите оценки по программированию');
readln(ocenki[i].prog);
writeln('Введите оценки по истории');
readln(ocenki[i].history);
write(f,stud[i]);
end;
close (f);
end;
procedure show();
var i:integer;
f:file of student;
begin
assign(f,'c:\studentsfill.txt');
reset (f);
    while not eof (f) do 
    begin
    inc(i);
        read(f,stud[i]);
        if ((ocenki[i].phisical=5)and(ocenki[i].math=5)and(ocenki[i].prog=5)and(ocenki[i].history=5)) then
       begin
        writeln('Студенты,которые имею максимальный бал по всем предметам: ',stud[i].nameson);
        end;
    end;
 
    close (f);
 
end;
begin
writeln('Введите количество студентов:');
readln(n);
fill();
show();
end.

Объяснение кода листинга программы

  1. Создается тип данных student и marks, представляющий структуру информации о студенте и его оценках соответственно.
  2. Создается переменная i для отслеживания текущего индекса студента в массиве.
  3. Создается массив stud для хранения информации о студентах и массив ocenki для хранения оценок.
  4. Создается процедура fill, которая считывает информацию о студентах из файла и записывает ее в соответствующие структуры.
  5. В процедуре show происходит вывод информации о студентах, у которых все оценки равны максимальным баллам.
  6. Программа завершается после вывода информации о всех студентах.

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы