我在做一个题大意是输入一批学生的学号,姓名,分数,存储于一个一维数组中,然后再按分数降序输出(用记录类型存储数据,并将其作为数组的元素类型)
program Project2;{$APPTYPE CONSOLE}uses
  SysUtils;
type Tstudent = record                                            //定义记录类型
     ID:string[10];
     name:string[8];
     grade:integer;
     end;
var  Txuesheng:array of Tstudent;//定义数组
var i,x:integer;
var a:string[10];b:string[8];c:integer;
var p:Tstudent;
function luru(n:integer):integer;
begin
   writeln('请按顺序输入准考证号,考生姓名,考生成绩:');               //输入内容  但是我不知道怎么写了
   readln(p.ID,p.name,p.grade);                                   //这句是我写的但是我用DELPHI调试有错  
end;
begin
      writeln('请输入需要录入学生数:');
      read(x);
      SetLength(Txuesheng,x);
      for i:=(Low(Txuesheng)+1) downto High(Txuesheng) do
      luru(x);
      write(p.ID,p.name,p.grade);
      readln;
end.问下大家怎么输入啊? ~~~在线等

解决方案 »

  1.   

      writeln( '请按顺序输入准考证号,考生姓名,考生成绩: ');               //输入内容  但是我不知道怎么写了
      readln(p.ID);
      readln(p.name);
      readln(p.grade);
      WriteLn('准考证号:'+p.id);
      WriteLn('考生姓名:'+p.name);
      WriteLn('考生成绩:'+p.grade);
      readln;
    或者使用固定的分隔符隔开每项值,然后分析一下
      

  2.   

    function luru(n:integer):integer;
    begin
       writeln('请按顺序输入准考证号,考生姓名,考生成绩:');
       for  j:=1 to x do
         begin
           readln(Txuesheng[j].ID);
           readln(Txuesheng[j].name);
           readln(Txuesheng[j].grade);             //   在这会报错什么意思啊?????????????????
         end;end;
    begin
          writeln('请输入需要录入学生数:');
          read(x);
          SetLength(Txuesheng,x);
          for i:=(Low(Txuesheng)+1) downto High(Txuesheng) do
          luru(x);
          write('准考证号'+Txuesheng[j].ID);write('考生姓名',Txuesheng[j].name);write('考生成绩',Txuesheng[j].grade);
          readln;
    end.
    我把程序改成这样了