Помощь - Поиск - Пользователи - Календарь
Полная версия: Текстовый файл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
forMator
Дан текстовый файл, содержащий сведения о студентах:фамилия, имя, номер группы, факультет.
Удалить из него студентов математического факультета! Вывести новый файл!
Сделал эту задачку без нового файла! Всё получилось!
Никак не получается чтобы вывести новый файл!
Посмотрите пожалуйста в чём моя ошибка!!

program Project1;
var fakyl:string[15];
a1:string[60];
a2:string[60];
f1:textfile;
f2:textfile;
i:integer;
begin
assignfile(f1,'C:\tak.txt');
assignfile(f2,'C:\tyk.txt');
reset(f1);
rewrite(f2);
writeln('Spisok studentov:');
i:=0;
while not(eof(f1)) do
begin
i:=i+1;
readln(f1,a1);
writeln(i:2,' ',a1);
end;
closefile(f1);
reset(f1);
rewrite(f2);
write('fakyl-');readln(fakyl);
while not(eof(f1)) do begin
readln(f1,a1);
if a1<>fakyl then writeln(f2,a2);
end;
closefile(f1);
closefile(f2);
reset(f2);
writeln('Spisok studentov:');
i:=0;
while not(eof(f2)) do
begin
i:=i+1;
readln(f2,a2);
writeln(i:2,' ',a2);
end;
closefile(f2);
readln;
end.


Файл с информацией о студентах уже создан!
мисс_граффити
а как информация хранится?
так:
Иванов
Иван
ТШ-51
математический

или так:
Иванов Иван ТШ-51 математический
?

forMator
Информация хранится так:
математический Иванов Иван 152

Когда я запускаю программу выводится информация о студентах!затем я ввожу математический,
а программа выводит тоже количество студентов что и в первом файле и то только их i-номер,
без какой-либо информации!
мисс_граффити
у тебя условие
if a1<>fakyl then writeln(f2,a2);
некорректное.
из файла ты считаешь большую строку (типа математический Иванов Иван 152), а сравнить ее пытаешься с математический. как думаешь, оно в принципе может дать ложь?

а с записью во второй файл ты вообще что-то странное делаешь....

в общем, основная идея должна быть такая: пока не достигнут конец 1 файла:
считали строку из первого.
факультет - математический? //подумай, как сформулировать условие
нет: записали эту строку во второй.
да: ничего не делаем
читаем след строку....
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.