首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pascal抽签码

Pascal抽签码
EN

Stack Overflow用户
提问于 2018-03-20 14:26:38
回答 3查看 204关注 0票数 0
代码语言:javascript
复制
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行。编译器说:

代码语言:javascript
复制
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

有人能帮忙吗?谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-03-20 14:43:39

你为什么说第10行?错误消息是第26行。

如果-那么,就不应该有一件事了。

你应该把你的一些陈述包含在开始-结束块中。

在关键字before和END之前有多余的分号。

接近尾声时,你还有另外两个条款。那该怎么办?

票数 1
EN

Stack Overflow用户

发布于 2018-03-20 15:32:38

以下是关于评论的更新代码:

代码语言:javascript
复制
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无效。

票数 0
EN

Stack Overflow用户

发布于 2018-03-20 17:41:11

代码语言:javascript
复制
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.

这是我最初想要的功能的最后一个工作代码。我找出了剩下的问题,并增加了一些增强。非常感谢所有帮助我的人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49386903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档