Показать сообщение отдельно
Старый 10.05.2012, 16:23   #1 (permalink)
gabriela
Member
 
Регистрация: 10.05.2012
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача на файлы

Структура записи:

ФИО:..........40 знаков
№ курса.....1 знак
№ группы....1 знак
успеваемость-5 экзаменов в каждой из 10 сессий
форма обучения (целевая\договорная)..1 знак
Экзамен
наимен.предмета....10 знаков
оценка..................1 знак
создать файл студент.Занесите в отдельный файл записи из файла Студент о студентах 5-го курса ,упорядочив их по убыванию сумм баллов за все время обучения(фио,балл)
Код:
type
  session = array[1..10,1..5] of record            //Сведения об экзаменах
                                  name: string[10];
                                  mark: 1..5;
                                  end;
  student = record                // Сведения о студенте
            fio: string[40];
            curs: 1..5;
            group: 1..9;
            result:session;
            end;
  TFile= file of student ;
 //--------------------------------------------------------
procedure vvodstudent(var st:student);       // Ввод записи с клавиатуры
var i,j:integer;
begin
with st do
 begin
  write('Введите ФИО: '); readln(fio);
  write('Введите курс: '); readln(curs);
  write('Введите группу: '); readln(group);
  writeln('Введите результаты сессий:');
  i:=1;
  repeat
  writeln('Сейссия №',i,': ');
   for j:=1 to 5 do
    begin
     write('Название ',j,'-го экзамена: '); readln(result[i,j].name);
     write('Оценка за ',j,'-й экзамен: '); readln(result[i,j].mark);
    end;
  inc(i);
  until (i=curs*2+1);
 end;
writeln('Ввод закончен!');
end;
//-------------------------------------------------------------------
procedure writestudent(var st:student);             // Печать записи
var i,j:integer;
begin
with st do
 begin
  writeln(FIO,', ',curs,' курс, ',group,' группа.');
  for i:=1 to curs*2 do
   begin
    write('  Сессия ',i,': ');
    for j:=1 to 5 do
     write(result[i,j].name,': ',result[i,j].Mark,', ');
     readln
   end
 end;
end;
var f1:file;
    rec:student;
begin
 Assign(f1,'af.int');
 rewrite(f1);
 Write(f1,writestudent(rec));
 Close(f1);
 Reset(f1);
 while not Eof(f1) do
 begin
 
 end;
end.
помогите ,пожалуйста, доделать задачу
gabriela вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070