怎么用PASCAL如何读入下列数据: PASCAL文件读入问题!
如何读入下列数据:(5是数据的个数,意思是下面还有多少行)52jason11herry44patty34tom210petter510我是这么读的,但显示EXTICODE...
如何读入下列数据:
(5是数据的个数,意思是下面还有多少行)
5 2
jason 1 1
herry 4 4
patty 3 4
tom 2 10
petter 5 10
我是这么读的,但显示EXTICODE=106
type present=record;
name:=string;
x:=real;
y:=real;
var p:array[1..1000] of present;
i,k,n:longint;
begin
readln(n,k);
for i:=1 to n do
with p[i] do
readln(name,x,y);
end. 展开
(5是数据的个数,意思是下面还有多少行)
5 2
jason 1 1
herry 4 4
patty 3 4
tom 2 10
petter 5 10
我是这么读的,但显示EXTICODE=106
type present=record;
name:=string;
x:=real;
y:=real;
var p:array[1..1000] of present;
i,k,n:longint;
begin
readln(n,k);
for i:=1 to n do
with p[i] do
readln(name,x,y);
end. 展开
1个回答
展开全部
这种读法是错误的
照你的方法,他会变成
p[1].name='jason 1 1'
p[1].x='herry'于是就与类型不符了
你应该这样
把你的
for i:=1 to n do
with p[i] do
readln(name,x,y);
改为
for i:=1 to n do
with p[i] do
begin
readln(st{再加一个变量});
name:=copy(st,1,pos(' ',st)-1);
delete(st,1,pos(' ',st));
val(copy(st,1,pos(' ',st)-1),x,code{再加一个变量});
delete(st,1,pos(' ',st));
val(st,y,code);
end;
//就是一个普通的字符串处理
照你的方法,他会变成
p[1].name='jason 1 1'
p[1].x='herry'于是就与类型不符了
你应该这样
把你的
for i:=1 to n do
with p[i] do
readln(name,x,y);
改为
for i:=1 to n do
with p[i] do
begin
readln(st{再加一个变量});
name:=copy(st,1,pos(' ',st)-1);
delete(st,1,pos(' ',st));
val(copy(st,1,pos(' ',st)-1),x,code{再加一个变量});
delete(st,1,pos(' ',st));
val(st,y,code);
end;
//就是一个普通的字符串处理
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询