Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите решить задачку по записям
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
dem74
Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике. Распечатать список учеников, имеющих средний балл выше среднего в классе.
Задачу нужно решить с использованием типизированных файлов!

Заранее всем благодарен
Unconnected
Цитата
Задачу нужно решить с использованием типизированных файлов!


Оценки, значит, в этом самом файле? А каков формат файла?
dem74
Цитата(Unconnected @ 15.01.2009 19:29) *

Оценки, значит, в этом самом файле? А каков формат файла?

ага! Формат файла DAT
volvo
Цитата
Формат файла DAT
DAT - это не формат, а расширение... Ты расскажи о формате, что именно у тебя хранится в файле, в какой последовательности.
dem74
Цитата(volvo @ 15.01.2009 20:15) *

DAT - это не формат, а расширение... Ты расскажи о формате, что именно у тебя хранится в файле, в какой последовательности.

я если честно и сам не знаю! wub.gif
Lapp
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
Цитата(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;
dem74
спасибо громадное
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.