-1

私はこのタスクを持っていますが、それを行う方法がわかりません。私は人の年齢を日で見つける必要があり、生年月日と死亡日が与えられ、データファイルがあります:

8   
Albertas Einšteinas     1879 03 14 1955 04 18         
Balys Sruoga            1896 02 02 1947 10 16  
Antanas Vienuolis       1882 04 07 1957 08 17   
Ernestas Rezerfordas    1871 08 30 1937 10 17   
Nilsas Boras            1885 10 07 1962 11 18   
Nežiniukas Pirmasis        8 05 24    8 05 25  
Nežiniukas Antrasis      888 05 25  888 05 25   
Nežiniukas Trečiasis       1 01 01  125 01 01

結果ファイルは次のようになります。

1879 3 14 1955 4 18 27775
1896 2 2 1947 10 16 18871
1882 4 7 1957 8 17 27507
1871 8 30 1937 10 17 24138
1885 10 7 1962 11 18 28147
8 5 24 8 5 25 1
888 5 25 888 5 25 0
1 1 1 125 1 1 45260

注意すべき点はほとんどありません。2 月はすべて 28 日です。年齢を計算するための私の関数:

  function AmziusFunc(Mas : TZmogus) : longint;
    var amzius, max : longint;
  begin
    max := 125 * 365;
    amzius := (Mas.mirY - Mas.gimY) * 365 + (Mas.mirM - Mas.gimM) * 31 +
      (Mas.mirD - Mas.gimD);
    if ( amzius >= max ) then amzius := 0;
    AmziusFunc := amzius;
  end;

そこで何を変えるべきですか?ありがとう。

4

1 に答える 1

0
 function AmziusFunc(Mas : TZmogus) : longint;
    var amzius, max : longint;
  begin
    max := 125 * 365;
    amzius := (Mas.mirY - Mas.gimY) * 365 + (Mas.mirM - Mas.gimM) * 31 +
      (Mas.mirD - Mas.gimD);
    if ( amzius >= max ) then amzius := 0;
    AmziusFunc := amzius;
  end;
于 2010-05-19T18:12:24.747 に答える