Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с файлами
Форум «Всё о Паскале» > 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;
...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.