Вопрос задан 06.08.2018 в 03:07. Предмет Информатика. Спрашивает Блинова Катерина.

Ребята Паскаль!! помогите у меня паскаль abc пишу прогу, вот моя program abc; var f: file of char;

c: char; r: integer; begin assign (f, 'C:\Users\дети\Desktop\абв.txt'); {$I-} reset (f); {$I+} r:= IOresult; if r <> 0 then writeln ('такого файла нет') else while not eof (f) do begin read (f, c); writeln (c); end; close (f); readln end. я не знаю в чём проблема на распечатке написано (примеры) так а пишет типо неизвестное имя IOresult
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Демонов Роман.
Const
    file_path = 'C:\Users\дети\Desktop\абв.txt';

var
    f: file of char;
    c: char;

begin
    if not FileExists(file_path) then
        writeln('такого файла нет')
    else
    begin
        assign(f, file_path);
        reset(f);
        while not eof(f) do
        begin
            read(f, c);
            writeln(c);
        end;
        close(f);
    end;
    
    readln();
end.

Не знаю подойдет ли это к вашей версии паскаля
Делалось на PascalABC.Net 3.1.0.1200
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема в вашем коде связана с неправильным использованием функции IOresult.

Функция IOresult возвращает код ошибки последней операции ввода-вывода. В вашем случае, вы используете IOresult после выполнения операции reset(f), которая открывает файл для чтения. Код ошибки будет ненулевым только в случае, если открытие файла прошло неудачно.

В вашем коде, вы проверяете значение r после операции reset(f), что не имеет смысла. Вместо этого, вам нужно проверить значение IOresult после операции read(f, c) в цикле while.

Также, вы используете неправильный синтаксис для записи в файл. Вместо writeln(c), вам нужно использовать write(c) для записи символа c в файл.

Вот исправленный код:

program abc; var f: file of char; c: char; r: integer; begin assign(f, 'C:\Users\дети\Desktop\абв.txt'); {$I-} reset(f); {$I+} r := IOresult; if r <> 0 then writeln('такого файла нет') else while not eof(f) do begin read(f, c); write(c); // исправлено end; close(f); readln; end;

После внесения этих изменений, код будет открывать файл "абв.txt" для чтения, читать символы из файла и выводить их на экран. Если файл не существует, программа выведет сообщение "такого файла нет".

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос