13.06.2010, 22:36 | #11 (permalink) | |
Member
Регистрация: 13.06.2010
Сообщений: 55
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 40
|
Цитата:
Код:
for i:=1 to k do begin writeln('vvedite familii'); readln(t[i].fam); writeln('vvedite ima'); readln(t[i].im); writeln('ocenci'); end; |
|
13.06.2010, 22:36 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Можно упростить решение вопроса путем просмотра схожих постов Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл Паскаль. Записи Процедуры-подпрограммы-паскаль Задание подпрограммы |
14.06.2010, 01:43 | #12 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
Да, и еще. Что бы каждый раз не писать t[i].поле, можно использовать оператор with t[i] do begin ... end; который позволяет общаться к полям выбранной записи просто по имени самих полей. Удобно, если имя записи велико и нагружает код. То есть, вашу программу можно исправить так:
for i:=1 to k do with t[i] do begin writeln('vvedite familii'); readln(fam); writeln('vvedite ima'); readln(im); writeln('ocenci'); end; в общем и старый вариант будет работать, это просто оптимизация Ввод оценок можно организовать так (при фиксированном n): (...) writeln('ocenci'); readln (oc[1],oc[2],oc[3]); end; или же так, как вы хотели for j:=1 to n do readln (t[i].oc[j]) Последний раз редактировалось MrSTEP; 14.06.2010 в 01:53 Причина: Добавил совет по вводу оценок |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|