Вопрос № 31288: Добрый день!
Есть задание, над которым бьюсь не один день. В типизированный файл не выводятся номера зачеток. Если делать
var
nz: text;
тогда все работает, а если nz: file of real, то ругается на строку writeln(nz,ZACH[s]); и говорит,...
Вопрос № 31.288
Добрый день!
Есть задание, над которым бьюсь не один день. В типизированный файл не выводятся номера зачеток. Если делать
var
nz: text;
тогда все работает, а если nz: file of real, то ругается на строку writeln(nz,ZACH[s]); и говорит, что Error 63: Invalid file type.
Но мне надо, чтобы выводило в типофой файл, а не в текстовый. Что делать?
Текст задания:
Написать программу, позволяющую ввести несколько студентов и номер их зачетки, записав фамилий в текстовый файл; номер зачетки в типизированный файл.
Отвечает: Маренич Владимир
Здравствуйте, Притчин Алексей!
С типизированным файлом надо испльзовать процедуры BlockRead и BlockWrite.
Ответ отправил: Маренич Владимир (статус: 9-ый класс)
Отправлен: 11.12.2005, 23:42
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Притчин Алексей!
Советую описать данные каждого студента записью, потом создать массив записей и просто записать его...
Отвечает: sir henry
Здравствуйте, Притчин Алексей!
Ошибка в том, что Вы невнимательно читали раздел учебника по работе с файлами. WriteLn, применительно к файлу, записывает какие-то данные и (ОБРАТИЕ ВНИМАНИЕ) символы переход на новую строку и возврат каретки (#13#10). Типизированому файлу это надо, как Вы считаете? Явно не надо. :)
Поэтому вместо WriteLn нужно использовать Write.
И еще небольшое пожелание. Не используйте тип Real. Этот тип достался в наследство с тех времен, когда вместо математического сопроцессора применялся его эмулятор. Лучше использовать Double, это родной тип для сопроцессора.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 12.12.2005, 06:43
Отвечает: Stamm
Здравствуйте, Притчин Алексей!
Всё в дело в том, что Writeln можно применять только для текстовых файлов, потому что Writeln - это Write плюс символ перевода на новую строку.....
Надо использовать write(nz,ZACH[s])
Ответ отправил: Stamm (статус: 5-ый класс)
Отправлен: 12.12.2005, 11:57
Отвечает: Tancho
Здравствуйте, Притчин Алексей!
Смотри в Приложении!Все откомпилировано без ошибок Borland Pasca'е v.7.0!
Приложение:
Ответ отправил: Tancho (статус: Практикант)
Отправлен: 14.12.2005, 18:10