我有问题!
我必须定义文本文件“T”中偶数行中的感叹号数量 此外,我必须打印这些字符超过两个
的行我的程序必须正确,但PascalABC在第3行“预期类型”中显示错误
请帮我或写自己的
program text;
var
T: Text;
fName: string;
str: string;
i: integer;
numStr: integer; {Number of current string in file}
amtSymb: integer; {count !}
begin
clrscr;
write('enter input file name: ');
readln(fName);
assign(T,fName);
reset(T); {open file for reading}
numStr := 0;
while not EoF(T) do begin {Reads a line, until we reach the end of file}
readln(T,str);
inc(numStr);
if ((numStr mod 2) = 0) then begin {If an even line}
amtSymb := 0;
for i := 1 to length(str) do begin {We examine each character in the string and read "!"}
if (str[i] = '!') then
inc(amtSymb);
end;
if (amtSymb > 2) then {Display the line if more than two "!"}
writeln(str);
end;
end;
close(T);
writeln('press any key to exit...');
readKey;
end.
答案 0 :(得分:3)
最有可能的原因是,您的程序名称text
与Text
文件类型之间存在名称冲突。尝试将程序重命名为其他内容。
另外,在你的身体中,你在检查它是否是偶数之前增加numStr - 你可能想要在inc
之前进行检查。