Описать структуру с именем STUDENT - Turbo Pascal (29911)

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

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

Нужна помощь! Описать структуру с именем STUDENT, содержащую следующие поля: - номер; - фамилия и имя; - год рождения; - год поступления в университет; - структура OCENKI, содержащая четыре поля: физика, математика, программирование, история; написать программу, выполняющую следующие действия с помощью процедур или функций: - ввод с клавиатуры данных в файл, состоящий из структур типа STUDENT; записи должны быть упорядочены номеру; - чтение данных из этого файла; - вывод на дисплей анкетных данных студентов, получивших одну оценку 3; - если таких студентов нет, вывести соответствующее сообщение.

Решение задачи: «Описать структуру с именем STUDENT»

textual
Листинг программы
program pr;
 
type
 student=record 
 number:integer;
 nameson:string[50];
 yearofbirth:integer;
 enter:integer;
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].number);
writeln('Введите имя и фамилию студента');
readln(stud[i].nameson);
writeln('Введите год рождения');
readln(stud[i].yearofbirth);
writeln('Введите год поступления');
readln(stud[i].enter);
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]);
        writeln(stud[i].number);
        writeln(stud[i].nameson);
        writeln(stud[i].yearofbirth);
        writeln(stud[i].enter);
        writeln('Физика:',ocenki[i].phisical);
        writeln('Математика:',ocenki[i].math);
        writeln('Программирование:',ocenki[i].prog);
        writeln ('История:',ocenki[i].history);
        writeln;
    end;
 
    close (f);
 
end;
procedure bad(s:student);
var i,j:integer;
begin
for i:=1 to n do
if (ocenki[i].phisical=3) or (ocenki[i].math=3)or (ocenki[i].prog=3) or (ocenki[i].history=3)then 
begin
writeln('Тройка у:');
writeln(stud[i].nameson);
end;
end;
begin
writeln('Введите количество студентов:');
readln(n);
fill();
show();
bad(stud[i+1]);
end.

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

  1. Создается тип данных student, который представляет структуру с именем STUDENT.
  2. Создается переменная i и n типа integer.
  3. Создается массив stud типа array [1..100] of student. Это означает, что будет создано 100 экземпляров структуры STUDENT и они будут храниться в массиве stud.
  4. Создается массив ocenki типа array [1..100] of marks. Это означает, что будет создано 100 экземпляров структуры MARKS и они будут храниться в массиве ocenki.
  5. Создается процедура fill, которая будет заполнять массив stud данными о студентах.
  6. Внутри процедуры fill происходит цикл, который повторяется n раз. Для каждого студента вводятся его номер, имя и фамилия, год рождения и год поступления. Затем вводятся оценки по физике, математике, программированию и истории. Данные о студенте записываются в файл studentsfill.txt.
  7. После завершения цикла fill файл studentsfill.txt закрывается.
  8. Создается процедура show, которая будет выводить информацию о студентах из массива stud.
  9. Внутри процедуры show происходит цикл, который повторяется до конца файла studentsfill.txt. Для каждого студента выводятся его номер, имя, фамилия, оценки по физике, математике, программированию и истории.
  10. После завершения цикла show файл studentsfill.txt закрывается.
  11. Создается процедура bad, которая будет выводить информацию о студентах, у которых оценки по определенным предметам равны 3.
  12. Внутри процедуры bad происходит цикл, который повторяется до конца массива stud. Если у студента оценки по физике, математике, программированию или истории равны 3, то выводится его имя.
  13. После завершения цикла bad происходит выход из программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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