萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 908|回复: 4

一个小题目,各位编程高手看看,给点意见啊。

[复制链接]
发表于 2003-10-20 23:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
任意定义2个日期,年-月-日, 计算2个日期相差多少年,多少月,另几天。
我想了几个法子,都要编一堆程序,有没有什么简便的算法。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2003-10-21 16:18 | 显示全部楼层
选公元一年一月一日作为零起点.
剩下的任何一天都可折合成自然数, 然后2个自然数一减就得了
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2003-10-21 18:54 | 显示全部楼层

你没理解题目

这样减出来只是多少多少天,但按人的习惯,要换成差几年几个月另几天。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2003-11-21 21:13 | 显示全部楼层
//datum.h
class Datum
{
        int tag,monat,jahr;
public:
        Datum():tag(0),monat(0),jahr(0){}
        Datum(char *);
        void ausgabe() const;
        int diff(int ) const;
};

//datum.cpp
#include <iostream.h>
#include "datum.h"

Datum::Datum(char *ad)
{
        tag=(ad[0]-48)*10+ad[1]-48;
        monat=(ad[3]-48)*10+ad[4]-48;
        jahr=(ad[6]-48)*1000+(ad[7]-48)*100+(ad[8]-48)*10+ad[9]-48;
}

int Datum::diff(int ajahr) const
{
        return ajahr-jahr;
}

void Datum::ausgabe() const
{
        cout<<tag<<"."<<monat<<"."<<jahr;
}
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-4-24 10:05 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+1, 2025-3-12 18:49 , Processed in 0.078192 second(s), 18 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表