Форум «Всё о Паскале» _ Делфи _ Помогите решить задачку по записям
Автор: dem74 15.01.2009 21:25
Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике. Распечатать список учеников, имеющих средний балл выше среднего в классе. Задачу нужно решить с использованием типизированных файлов!
Заранее всем благодарен
Автор: Unconnected 15.01.2009 21:29
Цитата
Задачу нужно решить с использованием типизированных файлов!
Оценки, значит, в этом самом файле? А каков формат файла?
Автор: dem74 15.01.2009 22:12
Цитата(Unconnected @ 15.01.2009 19:29)
Оценки, значит, в этом самом файле? А каков формат файла?
ага! Формат файла DAT
Автор: volvo 15.01.2009 22:15
Цитата
Формат файла DAT
DAT - это не формат, а расширение... Ты расскажи о формате, что именно у тебя хранится в файле, в какой последовательности.
Автор: dem74 15.01.2009 22:48
Цитата(volvo @ 15.01.2009 20:15)
DAT - это не формат, а расширение... Ты расскажи о формате, что именно у тебя хранится в файле, в какой последовательности.
я если честно и сам не знаю!
Автор: Lapp 16.01.2009 7:38
1. Тебе понадобится тип:
type tStudent=record Name: string; Mat,Rus,Phy: integer; end;
2. Сделай две программы либо выбор в одной программе через меню: создание файла и обработка готового файла.
3. Опиши файловую переменную и переменную для данных, вот так:
var F: file of tStudent; Student: tStudent
4. Для создания файла открой его оператором ReWrite(F) и запрашивай в цикле имя и оценки и записывай в файл:
Write(F, Student);
5. Для обработки открой файл оператором ReSet(F) и читай его в цикле, накапливая оценки и считая количество записей, а потом посчитай среднее:
s:=0; n:=0; while not EoF(F) do begin Read(F,Student); with Student do s:=s+Mat+Rus+Phy; Inc(n) end; a:=s/n/3;
Вот, примерно так..
Автор: volvo 16.01.2009 14:36
Цитата(Lapp @ 16.01.2009 2:38)
1. Тебе понадобится тип:
type tStudent=record Name: string; Mat,Rus,Phy: integer; end;
Дельфи не допустит описания файла File of tStudent, пока размер строки не будет указан... Скажем,
type tStudent=record Name: string[255]; // Вот теперь все в порядке... Mat,Rus,Phy: integer; end;