Другие языки программирования и технологии
вопрос для профессионалов (PASCAL)
Итак, есть работающая с файлами программа, имеет вот такую структуру: program imya (input,output); uses CRT; var a,b,c:integer; begin assign (input, 'input.txt'); {-$I} reset (input); {+$I} read (a,b); writeln('vvedite C'); readln(c); {хочу читать с клавиатуры, однако при этом происходит считывание файла, нужно использовать другую процедуру} assign (output,'output.txt'); rewrite(output); write(c); readkey; end. можете предложить альтернативу readln
а закрыть файл пробовал?
close(input.txt);
а потом читай с клавы
close(input.txt);
а потом читай с клавы
В ересь впал, брат мой! Ты всё делаешь, чтобы открыть текстовый файл, а потом удивляешься, а чего это у тебя вместо клавиатуры текстовый файл читается?
В общем, выкинь всё, что касается инпутов-аутпутов
program imya;
uses CRT;
var a,b,c:integer;
begin
read (a,b);
writeln('vvedite C')
Вот так будет работать.
В общем, выкинь всё, что касается инпутов-аутпутов
program imya;
uses CRT;
var a,b,c:integer;
begin
read (a,b);
writeln('vvedite C')
Вот так будет работать.
Серый Ганин
я интересовался конкретной структурой... мне интересно, возможно ли при идентификации программы на работу с файлами сделать принудительный ввод с клавиатуры
я в ересь не впал! это вполне осознанный вопрос
я в ересь не впал! это вполне осознанный вопрос
Серый Ганин
ps
program imya;
uses CRT;
var a,b,c:integer; input,output:text;
begin
assign (input, 'input.txt');
{-$I}
reset (input);
{+$I}
read (input,a,b);
close(input);
writeln('vvedite C');
readln(c);
assign (output,'output.txt');
rewrite(output);
write(output,c);
close(output);
readkey;
end.
так прога работает, но эта стректура МЕНЯ НЕ ИНТЕРЕСУЕТ!!!!
program imya;
uses CRT;
var a,b,c:integer; input,output:text;
begin
assign (input, 'input.txt');
{-$I}
reset (input);
{+$I}
read (input,a,b);
close(input);
writeln('vvedite C');
readln(c);
assign (output,'output.txt');
rewrite(output);
write(output,c);
close(output);
readkey;
end.
так прога работает, но эта стректура МЕНЯ НЕ ИНТЕРЕСУЕТ!!!!
Всё потому, что ты перенаправляешь потоки входных данных с консоли (по умолчанию) в файл!
Чтобы этого избежать убери строки:
assign (input, 'input.txt');
{-$I}
reset (input);
{+$I}
Чтобы видеть результат работы программы, поток данных output тоже не нужно переопределять!
Чтобы этого избежать убери строки:
assign (input, 'input.txt');
{-$I}
reset (input);
{+$I}
Чтобы видеть результат работы программы, поток данных output тоже не нужно переопределять!
Серый Ганин
т.е. мы бросаем файлы на произвол....и постоянно читаем клавиатуру... это не совсем такой выход, который я имел ввиду...
единственное что после этого следует, это то что нужно пользоваться клавиатурой и выводить на экран информацию ДО направление потока входных данных на файл
writeln('vvedite C'); {выводится на экран}
readln(c); {ввод с клавиатуры}
assign (input, 'input.txt');
{-$I}
reset (input);
{+$I}
read (a,b); {ввод с файла}
assign (output,'output.txt');
rewrite(output);
write(c); {запись в файл}
readkey;
единственное что после этого следует, это то что нужно пользоваться клавиатурой и выводить на экран информацию ДО направление потока входных данных на файл
writeln('vvedite C'); {выводится на экран}
readln(c); {ввод с клавиатуры}
assign (input, 'input.txt');
{-$I}
reset (input);
{+$I}
read (a,b); {ввод с файла}
assign (output,'output.txt');
rewrite(output);
write(c); {запись в файл}
readkey;
Во-первых непонятно зачеи uses CRT
и далее зачеи переменные A,B
Кажется понял
Проверьте откуда читаете ABC случайно ли не из инпут файла.
READ(input,a,b,c);
и далее зачеи переменные A,B
Кажется понял
Проверьте откуда читаете ABC случайно ли не из инпут файла.
READ(input,a,b,c);
Серый Ганин
все переменные уже читаются из файла!!!
мне нужно найти альтернативу readln чтобы порчитать с клавиатуры
(проверяйте код программы, он рабочий!!!!)
мне нужно найти альтернативу readln чтобы порчитать с клавиатуры
(проверяйте код программы, он рабочий!!!!)
Я не поняла, зачем ты отключил директиву { $ I -}, а затем подключил ее.
Не понятен смысл отключения, эта директива никак не мешает процедуре reset (input);
Директива { $ I +} устанавливается по умолчанию.
Может, лучше не трогать ее (в смысле, не отключать) ?
Не понятен смысл отключения, эта директива никак не мешает процедуре reset (input);
Директива { $ I +} устанавливается по умолчанию.
Может, лучше не трогать ее (в смысле, не отключать) ?
Alisher Xusenov
он имел ввиду что начинается отлов ошибок чения файла, и заканчивается))) всё верно вроде
Евгений Засухин
Я добавила и поменяла:
var
input:text;
. .
begin
. .
rewrite(input);
. .
end.
Ввод с клавиатуры пошел
var
input:text;
. .
begin
. .
rewrite(input);
. .
end.
Ввод с клавиатуры пошел
Почем видно, что читает из файла? При считывании из файла ведь указывается переменная типа файла и переменная в которую будет читать. А "с" вроде как независима.
Хотя пока не разбирался, это так беглый взгляд. Спать охота. Завтра посмотрю если еще будет интересовать мое мнение.
Хотя пока не разбирался, это так беглый взгляд. Спать охота. Завтра посмотрю если еще будет интересовать мое мнение.
Серый Ганин
мнение интересует!
программа настроена на работу с файлами ,поэтому файловые переменные можно опустить
программа настроена на работу с файлами ,поэтому файловые переменные можно опустить
хочу читать с клавиатуры, однако при этом происходит считывание файла, нужно использовать другую процедуру----
не должно быть так!
чтобы происходило считывание из файла нужно ввсети
readln(anyfile,anyvar).
так он должен с клавиатуры считывать на сколько я помню ещё паскаль
не должно быть так!
чтобы происходило считывание из файла нужно ввсети
readln(anyfile,anyvar).
так он должен с клавиатуры считывать на сколько я помню ещё паскаль
Серый Ганин
друг мой, проверь код программы!!! он работает!!!!но только А , Б, С читает ИЗ файла!!!
мне интересно,, возможно ли реализовать при такой структуре построения программы чтение с клавиатуры (в моем случае чтение переменной С)
мне интересно,, возможно ли реализовать при такой структуре построения программы чтение с клавиатуры (в моем случае чтение переменной С)
Паскаля не помню, но ставлю на то, что в результате какого-то шаманства файл отправляется в стдин.
Похожие вопросы
- Профессионалы pascal, нужна помощь
- вопрос по Turbo Pascal
- Вопрос про Free Pascal!!! помогите плз!
- Вопрос по поводу Pascal...Нужна помощь!
- Вопрос по Turbo Pascal
- Вопрос по Turbo Pascal
- Вопрос для программистов Pascal
- Срочно!!! Не займет много времени!!! Ломаю голову над вопросом, Помогите!!! Программа. Pascal. Паскаль
- Один вопрос по Pascal (или Object Pascal, или Delphi) (не надо ничего решать, просто один вопрос)
- Вопрос связан с олимпиадой по информатике! (Нужные знания языков pascal или c++)
writeln('vvedite C');
readln(c); {хочу читать с клавиатуры, однако при этом происходит считывание файла, нужно использовать другую процедуру}
reset(input);
assign (output,'output.txt');
rewrite(output);
write(c,'+',a,b);//в аутпуте будет введенное число + два те что из файла))) эт я для проверки
close(input);
close(output);
uses CRT;
var a,b,c:integer; input,output:text;
begin
assign (input, 'input.txt');
{-$I}
reset (input);
{+$I}
read (input,a,b);
close(input);
writeln('vvedite C');
readln(c);
assign (output,'output.txt');
rewrite(output);
write(output,c);
close(output);
readkey;
end.
так прога работает, но в ней куча строк относительно файлов..
а в структуре, которую я использую по умолчанию стоят файлы..
и ps зачем 2 close(input) ?