Описать структуру с именем 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.
Объяснение кода листинга программы
- Создается тип данных
student
, который представляет структуру с именем STUDENT. - Создается переменная
i
иn
типаinteger
. - Создается массив
stud
типаarray [1..100] of student
. Это означает, что будет создано 100 экземпляров структуры STUDENT и они будут храниться в массивеstud
. - Создается массив
ocenki
типаarray [1..100] of marks
. Это означает, что будет создано 100 экземпляров структуры MARKS и они будут храниться в массивеocenki
. - Создается процедура
fill
, которая будет заполнять массивstud
данными о студентах. - Внутри процедуры
fill
происходит цикл, который повторяется n раз. Для каждого студента вводятся его номер, имя и фамилия, год рождения и год поступления. Затем вводятся оценки по физике, математике, программированию и истории. Данные о студенте записываются в файлstudentsfill.txt
. - После завершения цикла
fill
файлstudentsfill.txt
закрывается. - Создается процедура
show
, которая будет выводить информацию о студентах из массиваstud
. - Внутри процедуры
show
происходит цикл, который повторяется до конца файлаstudentsfill.txt
. Для каждого студента выводятся его номер, имя, фамилия, оценки по физике, математике, программированию и истории. - После завершения цикла
show
файлstudentsfill.txt
закрывается. - Создается процедура
bad
, которая будет выводить информацию о студентах, у которых оценки по определенным предметам равны 3. - Внутри процедуры
bad
происходит цикл, который повторяется до конца массиваstud
. Если у студента оценки по физике, математике, программированию или истории равны 3, то выводится его имя. - После завершения цикла
bad
происходит выход из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д