PROGRAM VOTING_SLIP (INPUT,OUTPUT);
CONST
Array_size = 20;
VAR
Counter, Increment, i, j : Integer;
Found, full_name, District_ID : string;
DistrictArea : Array[1..20] of string;
DistrictID : Array[1..20] of string;
BEGIN
WRITELN('Please Populate District Area Array');
FOR i := 1 to 20 DO
READLN(DistrictArea[i]);
WRITELN('Input Values for District ID');
FOR j := 1 to 20 DO
READLN(DistrictID[i]);
WRITELN('Please Enter Voter Name');
READLN(full_name);
IF (full_name <> 'END') THEN DO
READLN(District_ID);
Increment := 1;
Counter := 0;
Found := 'FALSE';
WHILE(Found = 'FALSE') AND (Increment <= Array_size) DO
IF (DistrictID[Increment] = District_ID) THEN
Found := 'TRUE';
ELSE
Increment := Increment + 1;
IF (Found = 'TRUE') THEN
WRITELN (full_name,'you have been registered to vote in',
DistrictArea[Increment]);
Counter := Counter + 1;
ELSE
Writeln ('Error! Invalid District ID');
ELSE
Writeln ('you have', Counter, 'registered voters. Goodbye!');
END.以上代码将不会执行pas第10行。编译器说:
1. 26 / 3 oneste~1.pas
Error: Illegal expression
2. 26 / 3 oneste~1.pas
Error: Illegal expression
3. 26 / 3 oneste~1.pas
Fatal: Syntax error, ; expected but identifier READLN found有人能帮忙吗?谢谢。
发布于 2018-03-20 14:43:39
你为什么说第10行?错误消息是第26行。
如果-那么,就不应该有一件事了。
你应该把你的一些陈述包含在开始-结束块中。
在关键字before和END之前有多余的分号。
接近尾声时,你还有另外两个条款。那该怎么办?
发布于 2018-03-20 15:32:38
以下是关于评论的更新代码:
PROGRAM VOTING_SLIP (INPUT,OUTPUT);
uses crt;
CONST
Array_size = 20;
VAR
Counter, Increment, i, j : Integer;
Found, full_name, District_ID : string;
DistrictArea : Array[1..20] of string;
DistrictID : Array[1..20] of string;
BEGIN
WRITELN('Please Populate District Area Array');
FOR i := 1 to 20 DO
READLN(DistrictArea[i]);
WRITELN('Input Values for District ID');
FOR j := 1 to 20 DO
READLN(DistrictID[j]);
WRITELN('Please Enter Voter Name');
READLN(full_name);
IF (full_name <> 'END') THEN BEGIN
READLN(District_ID);
Increment := 1;
Counter := 0;
Found := 'FALSE';
END
WHILE (Found = 'FALSE') AND (Increment <= Array_size) DO BEGIN
IF (DistrictID[Increment] = District_ID) THEN BEGIN
Found := 'TRUE';
END
ELSE BEGIN
Increment := Increment + 1;
END
END
IF (Found = 'TRUE') THEN BEGIN
WRITELN (full_name,'you have been registered to vote in',
DistrictArea[Increment]);
Counter := Counter + 1;
END
ELSE BEGIN
Writeln ('Error! Invalid District ID');
END
ELSE BEGIN
Writeln ('you have', Counter, 'registered voters. Goodbye!');
END
END.新编译器错误: 35 /3 oneste~1 New致命:语法错误;预期但在找到时
代码应该允许在数组中输入区域区域和地区ID的值。然后接受投票者名称,如果输入end,则使用计数器变量编码close并显示选民人数,否则将允许为该选民名输入地区ID。完成此操作后,对地区ID数组进行代码,以确保其正确的地区ID;如果是,则打印投票者名称和相应的区域区域以进行屏幕,如果没有通知区域ID无效。
发布于 2018-03-20 17:41:11
PROGRAM VOTING_SLIP (INPUT,OUTPUT);
uses crt;
CONST
Array_size = 20;
VAR
Counter, Increment, i, j, k : Integer;
Found, full_name, District_ID : string;
DistrictArea : Array[1..20] of string;
DistrictID : Array[1..20] of string;
BEGIN
WRITELN('Please Populate District Area Array');
FOR i := 1 to 20 DO BEGIN
READLN(DistrictArea[i]);
END;
WRITELN('Input Values for District ID');
FOR j := 1 to 20 DO BEGIN
READLN(DistrictID[j]);
END;
For k := 1 TO 10 DO BEGIN
WRITELN('Please Enter Voter Name');
READLN(full_name);
IF (full_name <> 'END') THEN BEGIN
WRITELN ('Please enter District ID');
READLN(District_ID);
Increment := 1;
Counter := 0;
Found := 'FALSE';
END;
WHILE (Found = 'FALSE') AND (Increment <= Array_size) DO BEGIN
IF (DistrictID[Increment] = District_ID) THEN BEGIN
Found := 'TRUE';
END
ELSE BEGIN
Increment := Increment + 1;
END
END;
IF (Found = 'TRUE') THEN BEGIN
WRITELN (full_name,' - you have been registered to vote in - ',
DistrictArea[Increment]);
Counter := Counter + 1;
END
ELSE BEGIN
Writeln ('Error! Invalid District ID');
END;
IF (full_name = 'END') THEN BEGIN
Writeln ('you have - ', Counter, '- registered voters. Goodbye!');
END
END;
END.这是我最初想要的功能的最后一个工作代码。我找出了剩下的问题,并增加了一些增强。非常感谢所有帮助我的人。
https://stackoverflow.com/questions/49386903
复制相似问题