帕斯卡的人年龄程序

发布于 2024-08-31 23:42:33 字数 1022 浏览 4 评论 0原文

我有这个任务,但我不知道该怎么做。 我需要找到人的年龄(以天为单位),有出生日期和死亡日期,有数据文件:

<前><代码>8 艾伯塔省 爱因斯坦 1879 03 14 1955 04 18 巴利斯·斯鲁加 1896 02 02 1947 10 16 安塔纳斯·维努奥利斯 1882 04 07 1957 08 17 埃内斯塔斯·雷泽福德 1871 08 30 1937 10 17 尼尔萨斯·博拉斯 1885 10 07 1962 11 18 内兹纽卡斯·皮尔马西斯 8 05 24 8 05 25 内兹纽卡斯 安特拉西斯 888 05 25 888 05 25 内兹纽卡斯·特雷西斯 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;

我应该在那里改变什么?谢谢。

I have this task and i can't figure out how to do it.
I need to find persons age in days, there are given birth and death dates, there's data file:

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

and there's how result file should look like:

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

Few things to notice: all februarys have 28 days.
My function for calculating age:

  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;

What should i change there? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

记忆で 2024-09-07 23:42:33
 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;
 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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文