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

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

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

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

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

textual
Листинг программы
  1. program pr;
  2.  
  3. type
  4.  student=record
  5.  number:integer;
  6.  nameson:string[50];
  7.  yearofbirth:integer;
  8.  enter:integer;
  9. end;
  10. marks=record
  11.  phisical:integer;
  12.  math:integer;
  13.  prog:integer;
  14.  history:integer;
  15. end;
  16. var
  17. i,n:integer;
  18. stud:array [1..100] of student; // массив студентов (массив структур student)
  19. ocenki:array [1..100] of marks;
  20. procedure fill();
  21. var i:integer;
  22. f:file of student;
  23. begin
  24. assign(f,'c:\studentsfill.txt');
  25. rewrite(f);
  26. for i:=1 to n do begin
  27. writeln('Введите номер студента');
  28. readln(stud[i].number);
  29. writeln('Введите имя и фамилию студента');
  30. readln(stud[i].nameson);
  31. writeln('Введите год рождения');
  32. readln(stud[i].yearofbirth);
  33. writeln('Введите год поступления');
  34. readln(stud[i].enter);
  35. writeln('Введите оценки по физике');
  36. readln(ocenki[i].phisical);
  37. writeln('Введите оценки по математике');
  38. readln(ocenki[i].math);
  39. writeln('Введите оценки по программированию');
  40. readln(ocenki[i].prog);
  41. writeln('Введите оценки по истории');
  42. readln(ocenki[i].history);
  43. write(f,stud[i]);
  44. end;
  45. close (f);
  46. end;
  47. procedure show();
  48. var i:integer;
  49. f:file of student;
  50. begin
  51. assign(f,'c:\studentsfill.txt');
  52. reset (f);
  53.     while not eof (f) do
  54.     begin
  55.     inc(i);
  56.         read(f,stud[i]);
  57.         writeln(stud[i].number);
  58.         writeln(stud[i].nameson);
  59.         writeln(stud[i].yearofbirth);
  60.         writeln(stud[i].enter);
  61.         writeln('Физика:',ocenki[i].phisical);
  62.         writeln('Математика:',ocenki[i].math);
  63.         writeln('Программирование:',ocenki[i].prog);
  64.         writeln ('История:',ocenki[i].history);
  65.         writeln;
  66.     end;
  67.  
  68.     close (f);
  69.  
  70. end;
  71. procedure bad(s:student);
  72. var i,j:integer;
  73. begin
  74. for i:=1 to n do
  75. if (ocenki[i].phisical=3) or (ocenki[i].math=3)or (ocenki[i].prog=3) or (ocenki[i].history=3)then
  76. begin
  77. writeln('Тройка у:');
  78. writeln(stud[i].nameson);
  79. end;
  80. end;
  81. begin
  82. writeln('Введите количество студентов:');
  83. readln(n);
  84. fill();
  85. show();
  86. bad(stud[i+1]);
  87. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы