我正在制作一个存储学生信息数据的程序(家庭作业) 所以....我做了这个程序,但我得到一个错误201代码! 此外,我也无法将数据存储到txt文件。是因为错误呢? 我在互联网上检查201错误,但我不知道解决这个问题 当我的阵列进入6时我得到了这个错误.... 这是我的计划
program arrary1;
var
studentinfo:text;
i,a:integer;
tf:boolean;
name:array[1..10] of string[25];
classno:array[1..10] of integer;
gender:array[1..10] of char;
procedure inputdata;
begin
i:=1;
repeat
write('Enter the name of student: ');
readln(name[i]);
if name[i]<>'END'
then
begin
write('Enter the class number of student: ');
readln(classno[i]);
write('Enter the gender of student: ');
readln(gender[i]);
i:=i+1;
end
else begin
exit;
end;
until i=11;
end;
procedure displaydata;
begin
for a:= 1 to i-1 do
begin
writeln(name[a],' ',classno[a],' ',gender[a]);
i:=i+1;
end;
end;
procedure storedata;
begin
for a:= 1 to i-1 do
begin
assign(studentinfo, 'G:\pascal\studentdata.txt');
rewrite(studentinfo);
writeln(studentinfo,name[a],' ',classno[a],' ',gender[a]);
close(studentinfo);
i:=i+1;
end;
end;
begin
inputdata;
displaydata;
storedata;
end.
检查name[i]
是否让用户输入END以结束项目
TY FOR FORSWERING !!!!
答案 0 :(得分:0)
在过程displaydata
中,您将全局变量i从11增加到21,下一个循环a:=1 to i-1
违反了限制。