Автор | Сообщение |
Plutonium = Sergeant Major =
 | 603 |
 Doom Rate: 1.4
|
Отправлено: 02.12.11 18:30:36 | | | Дела такие: у меня есть файл input.txt , Я хочу, чтоб паскаль прочитал одно- или двузначное число внутри и присвоил это значение переменной (a), чтоб с ней можно было работать. (умножать, делить, ... ). Напишите рабочий кусок кода, пожалуйста. | |
|
| |
StasBFG[iddqd] -= DoomGod =-
 |  | 3287 |
 Doom Rate: 2.14
|
Отправлено: 02.12.11 18:45:13 | | | А что в этом файле input.txt? просто число в текстовой записи?
readln(f,a)
f - переменная файла
a - число которое тебе нужно
Ф-ция readln определяет тип переменной a и конвертирует данные в нужный формат. | |
|
1 |
2 |
2 |
 |
|
| |
Plutonium = Sergeant Major =
 | 603 |
 Doom Rate: 1.4
|
Отправлено: 02.12.11 19:10:48 | | | Вот код моей программы:
program p1;
uses crt;
var f,f1:file of integer;
a,b,c: integer;
begin
clrscr;
assign (f,'C:\Program Files\input.txt');
reset (f);
read (f,a);
b:=a+3;
close (f);
writeln (b);
end.
Пишет: попытка чтения за концом файла.(строка 9) Что в моей программке не так?
(кстати, здесь readln не проходит, только read.)
Добавлено спустя 4 минуты 30 секунд:
в файле только цифра 7. Единственный символ. | |
|
| |
Memfis = UAC Marshal =
 | 8103 |
 Doom Rate: 1.85
|
Отправлено: 02.12.11 19:18:21 | | | Програм фаелс ему может не нравиться? Ну из-за пробела. | |
|
1 |
1 |
1 |
 |
|
| |
Plutonium = Sergeant Major =
 | 603 |
 Doom Rate: 1.4
|
Отправлено: 02.12.11 19:22:23 | | | поместил файл в корень диска, изменил путь - бесполезно... | |
|
| |
StasBFG[iddqd] -= DoomGod =-
 |  | 3287 |
 Doom Rate: 2.14
|
Отправлено: 02.12.11 19:47:25 | | | У тебя файл текстовый, а ты из него читаешь в формате Integer. Тип файла поменяй на text и всё заработает, readln в том числе.
Вероятно в файле у тебя однозначное число, а Integer 2 байта занимает - вот и вылезает ошибка.
Так будет работать:
program p1;
uses crt;
var f,f1:text;
a,b,c: integer;
begin
clrscr;
assign (f,'C:\Program Files\input.txt');
reset (f);
readln (f,a);
b:=a+3;
close (f);
writeln (b);
end. | |
|
1 |
2 |
2 |
 |
|
| |
Plutonium = Sergeant Major =
 | 603 |
 Doom Rate: 1.4
|
Отправлено: 02.12.11 19:50:28 | | | StasBFG[iddqd]
спасибо, заработало) | |
|
| |
VladGuardian = Major =
 | 3094 |
 Doom Rate: 1.17
|
Отправлено: 03.12.11 00:17:51 | | | Memfis : | Програм фаелс ему может не нравиться? Ну из-за пробела. |
Однозначно - нет. Пути с пробелами (без кавычек) могут напакостить лишь в командной строке и бат-файлах, а внутри кода такая строка воспринимается как единый объект, сколько бы пробелов там не было. | |
|
1 |
7 |
13 |
 |
|
| |