我在验证函数中不断遇到错误需要帮助-pascal

我在验证函数中不断遇到错误需要帮助-pascal,pascal,Pascal,这是我的密码 program val; uses crt; var UI:string; x:integer; error:integer; begin repeat readln(UI); val(UI,x,error); until error = 0 ; writeln(UI) end; 我得到这个错误: validationfunctions.pas12,9致命:语法错误。预期但发现 有什么帮助吗?您需要更改;最后一个句点结束后。当您进行此操作时,请

这是我的密码

program val;
uses crt;

var
  UI:string;
  x:integer;
  error:integer;

begin
  repeat
  readln(UI);
  val(UI,x,error);
  until error = 0 ;
  writeln(UI)
end;
我得到这个错误:

validationfunctions.pas12,9致命:语法错误。预期但发现

有什么帮助吗?

您需要更改;最后一个句点结束后。当您进行此操作时,请修改缩进样式,以使程序流程清晰

program val;
uses crt;

var
  UI:string;
  x:integer;
  error:integer;

begin
  repeat
  readln(UI);
  val(UI,x,error);
  until error = 0 ;
  writeln(UI);     { I added a missing ;, even though not required }
end.               { <-- fix this line - it is required}
此外,您还将程序命名为val,并且尝试使用函数val。将程序命名为与内部函数相同的名称是一个非常糟糕的主意。如果您坚持这样做,并且您使用的编译器有问题,通常可以通过在函数调用之前显式添加单元名称(如System.ValUI,x,error;)来解决问题