帕斯卡尔分割线转化为现实和字符串(Pascal splitting line into real a

2019-10-16 14:09发布

我知道,这种语言有一对夫妇几年前去世了,但仍需要在大多数的学校在我们国家-.-我得到的数据文件,它看起来像:

  • 行数
  • 名姓(实型数字)(另一种类型的实际数字)

对于如

  • 2
  • 顽童日光浴5.66 55.4
  • 巴特·辛普森55.7 45.4

我需要创建的结果文件,它看起来像这样:

  • 名姓(此前给定的实型数字相乘)

对于如

  • 小子日光浴313.56
  • 巴特·辛普森2528.78
  • 总计:2842.34

我被困在试图分裂行成字符串和真实的,即使是在我的例子所有的数据都是在单独的行中所给的书:

  • 数字
  • 数字

我无法在网络上找到任何东西,希望你能帮助我。 先感谢您。

Answer 1:

这应该让你开始 - 我得到尽可能读取文件,分割线,并转换字符串实数:

Program Test;

var
    fileVar: Text;
    l: string[81];
    inputFilename: string[14];
    lCount: Integer;
    i: Integer;
    code: Integer;

    spacePos: Integer;

    firstName: string[100];
    secondName: string[100];

    num1: real;
    num2: real;
    product: real;

    s: string[100];

begin
    inputFilename := 'input.txt';
    Assign(fileVar, inputFilename);
    Reset(fileVar);

    Readln(fileVar, l);
    Val(l, lCount);

    Writeln('l count=', lCount);

    for i := 1 to lCount do
    begin
        Readln(fileVar, l);
        spacePos := Pos(' ', l);
        firstName := Copy(l, 0, spacePos);
        Delete(l, 1, spacePos);

        spacePos := Pos(' ', l);
        secondName := Copy(l, 0, spacePos);
        Delete(l, 1, spacePos);

        spacePos := Pos(' ', l);
        s := Copy(l, 0, spacePos - 1);
        Val(s, num1, code);
        Delete(l, 1, spacePos);

        Val(l, num2, code);

        WriteLn(firstName);
        Writeln(secondName);
        Writeln(num1);
        Writeln(num2);
    end;

    Close(fileVar);
end.




文章来源: Pascal splitting line into real and strings