Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с файлами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
lazarev
Не могу сделать одну задачу, потому что не пойму чего она хочет.

В текстовом файле содержится информация о студентах группы. Каждая строка файла содержит следующую информацию о студенте: Ф.И.О, номер зачётки, год окончания школы, номер школы. Получить в типизированном файле Ф.И.О. и номер зачетки тех студентов, которые окончили школу с номером N.

Вот что имеем...........

program fail;
uses crt;

     var
     f,f2:text;
     h:array[1..10] of string;
     z,g,s:array[1..10] of integer;
     n,m,i:integer;

  begin
     clrscr;
      assign (f,'c:\file.txt');
   assign (f2, 'c:\file2.txt');
   rewrite(f);
   writeln;
   write('Vvedite kol-vo zapisei o studentah : ');

   readln(n);
   for i:=1 to n do
  begin
  write('Vvedite fio studenta #',i, ' : ');read(h[i]);write(f,h[i]:10);
  write('VVedite nomer zachetki #',i, '  : '); read(z[i]);write(f,z[i]:10);
  write('vvedite god okonch sckoli #',i,' : ');read(g[i]);write(f,g[i]:10);
  write('Vveddite nomer sckoli #',i, ' : ');readln(s[i]);writeln(f,s[i]);
        end;
        close(f);
        begin
   writeln('Vvedite nomer skoli'); readln(m);

   reset(f);
   rewrite(f2);
    while not eof(f) do
    begin
    for i:=1 to n do

         read(f,h[i]);
         read(f,z[i]);
         read(f,g[i]);
         read(f,s[i]);

    if s[i]=m then write(f2,h[i]:10); write(f2,z[i]);
    end
    end;
    close(f);
    close(f2);
     writeln('h[',i,']=');readln
    end.

volvo
Нет, так не пойдет... :no:
Что требуется по заданию?
Цитата(lazarev @ 24.05.05 1:14)
Получить в типизированном файле Ф.И.О. и номер зачетки тех студентов, которые окончили школу с номером N.

Что имеем в программе?
var f2:text;
...
if s[i]=m then write(f2,h[i]:10); write(f2,z[i]);

Но это работа НЕ с типизированным, а с текстовым файлом... Для того, чтобы сделать по заданию, нужно ввести дополнительный тип:
Type
  Info = Record
    FIO: String;
    nomer: Integer;
  End;
{ И создать файл из этих записей }
Var f2: File Of Info;

Ну и потом в него записывать то, что нужно:
Var R: Info;
...
if s[i]=m then begin
  R.FIO := h[i]; R.nomer := z[i]; write(f2, R);
end;
...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.