Pascal 帕斯卡:201错误
我正在为学生信息(家庭作业)制作一个存储数据的程序 所以我做了这个程序,但是我得到了一个错误代码! 另外,我也不能将数据存储到txt文件中。是不是也因为这个错误? 我在互联网上检查201错误,但我不知道如何修复它 我的数组变为6时出现此错误。。。。 这是我的节目Pascal 帕斯卡:201错误,pascal,Pascal,我正在为学生信息(家庭作业)制作一个存储数据的程序 所以我做了这个程序,但是我得到了一个错误代码! 另外,我也不能将数据存储到txt文件中。是不是也因为这个错误? 我在互联网上检查201错误,但我不知道如何修复它 我的数组变为6时出现此错误。。。。 这是我的节目 program arrary1; var studentinfo:text; i,a:integer; tf:boolean; name:array[1..10] of string[25]; cl
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.
程序阵列1;
变量
学生信息:文本;
i、 a:整数;
tf:布尔型;
名称:字符串[25]的数组[1..10];
类号:整数的数组[1..10];
性别:字符数组[1..10];
程序输入数据;
开始
i:=1;
重复
写('输入学生姓名:');
readln(名称[i]);
如果名称[i]“结束”
然后
开始
写('输入学生的班级编号:');
readln(类别号[i]);
写('输入学生的性别:');
readln(性别[i]);
i:=i+1;
结束
否则开始
出口
结束;
直到i=11;
结束;
程序显示数据;
开始
对于a:=1到i-1 do
开始
书面(姓名[a],'',类别号[a],'',性别[a]);
i:=i+1;
结束;
结束;
程序存储数据;
开始
对于a:=1到i-1 do
开始
赋值(studentinfo,'G:\pascal\studentdata.txt');
重写(学生信息);
书面形式(学生信息,姓名[a],'',班级编号[a],'',性别[a]);
关闭(学生信息);
i:=i+1;
结束;
结束;
开始
输入数据;
显示数据;
存储数据;
结束。
检查name[i]
是否允许用户端到端输入程序
谢谢你的回答 在过程
displaydata
中,将全局变量i从11增加到21,下一个循环a:=1到i-1
违反了限制。我认为您的internet搜索不是很彻底。谷歌搜索“pascal runtime error 201”很快就会得到许多可能的答案。这意味着您的数组索引超出范围。另外,我也不能将数据存储到txt文件中。是不是也因为这个错误?获取运行时错误是一个很好的指标,表明您的程序不会产生您想要的结果。请始终使用-Criot编译作业,以启用最重要的检查