Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Запись

Автор: Lady_Dark 15.03.2007 17:23

Знаю, что было уже такое, но я все равно не понимаю, как это делать.
Посмотрела ВСЕ материалы, которые тут есть.

Сначала без файла. Вот задача. Делала по форумским задачам, ничего не получилось, взяла у одногрупницы похожую, переделала, ничего как видите не происходит. Уже месяц мучаюсь.. Объясните что там не так, у нас препод никому ничего не объясняет...

А с файлом я не понимаю как делать вообще.
мне не понятно: там (переменная,dann[i].xx,переменная2) что это? и это:

(* Имеем массив записей TBase, i-й элемент массива содержит информацию об i-ом студенте, для того чтобы получить например имя 4-го студента, надо обратиться сначала к 4-й записи, а после к нужному полю b[4].name, его оценка по 2-му предмету - b[4].maks[2]*)

(это из http://forum.pascal.net.ru/index.php?showtopic=9198)

Как это совмещать с прогой? Надеюсь на Вашу помощь...



Сформировать запись, имеющую след. структуру:
type: спортсмен=record фамилия:string;
страна:string;
рост:150..220;
вес:30..100;
год рождения:integer;
результат:integer;
end;

и определить:
- средний рост и вес спортсменов данной страны
- найти лучшего спортсмена данной страны
- список спортсменов данного возраста с результатом, не хуже данного.



Прикрепленные файлы
Прикрепленный файл  SP5.PAS ( 2.21 килобайт ) Кол-во скачиваний: 260

Автор: volvo 15.03.2007 18:23

Смотри, что я бы изменил в программе...

(приведенная программа НЕ тестировалась, хотя компиляцию проходит. Файл только создается, работает программа НЕ с ним, а с массивом, чтобы работа производилась с файлом, надо немного подкорректировать процедуры, их возможные вызовы для этого случая я привел как комментарии)


Прикрепленные файлы
Прикрепленный файл  __sport.pas ( 2.63 килобайт ) Кол-во скачиваний: 240

Автор: Lady_Dark 16.03.2007 2:23

volvo, огромное спасибо!!! Выручил... Все прекрасно работает...

Таак, а если с файлом, то, я так понимаю, перед всеми dann[i].xxxx должна стоять f? или не везде? unsure.gif

Вот, как в примере с игрушками:

Код
begin
assign(f,'c:\data.txt');{c:\data.txt - путь к файлу с данными}
reset(f);
repeat
  n:=n+1;
  readln(f,info[i].title);
  readln(f,s);
  val(s,info[i].price,er);
  if info[i].price>maxp then maxp:=info[i].price;
  readln(f,s);
  val(s,info[i].age_1,er);
  readln(f,s);
  val(s,info[i].age_2,er);
until eof(f);
close(f);
clrscr;


эмм... тут правда не с процедурами... что делать в процедурах? я пыталась вставить val и (и или) f перед данн... ничего... чето не знаю я даж... всех этих правил... =(
и еще, что делать, чтобы меню сразу появлялось?..