无法理解循环和数组

时间:2018-03-27 01:24:43

标签: arrays loops pascal procedure

如何更改以下过程以便它使用循环,循环由文件开头的数字控制?我还想添加一个固定大小的记录数组来存储每个记录读取。我对所有这些都比较新,所以任何帮助都表示赞赏。

procedure ReadLinesFromFile(var myFile: TextFile);
    var p: Person;
        number: Integer;
    begin
     ReadLn(myFile, number);
     ReadLn(myFile, p.name);
     ReadLn(myFile, p.age);
     ReadLn(myFile, p.name);
     ReadLn(myFile, p.age);
     ReadLn(myFile, p.name);
     ReadLn(myFile, p.age);
     ReadLn(myFile, p.name);
     ReadLn(myFile, p.age);
     ReadLn(myFile, p.name);
     ReadLn(myFile, p.age);
    end;

1 个答案:

答案 0 :(得分:0)

您必须声明一个数组,例如

people: array [1..100] of person

然后按以下方式填写

 ReadLn(myFile, number);
 for i:= 1 to number do
  begin 
   ReadLn(myFile, people[i].name);
   ReadLn(myFile, people[i].age);
  end;

最好使用动态数组,因为上面的代码假定文件中最多有100条记录。还没有检查文件是否实际包含“数字”记录。这些留给'作为读者的练习'。