一个小题目,各位编程高手看看,给点意见啊。
任意定义2个日期,年-月-日, 计算2个日期相差多少年,多少月,另几天。我想了几个法子,都要编一堆程序,有没有什么简便的算法。 选公元一年一月一日作为零起点.
剩下的任何一天都可折合成自然数, 然后2个自然数一减就得了
你没理解题目
这样减出来只是多少多少天,但按人的习惯,要换成差几年几个月另几天。 //datum.hclass 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-48)*10+ad-48;
monat=(ad-48)*10+ad-48;
jahr=(ad-48)*1000+(ad-48)*100+(ad-48)*10+ad-48;
}
int Datum::diff(int ajahr) const
{
return ajahr-jahr;
}
void Datum::ausgabe() const
{
cout<<tag<<"."<<monat<<"."<<jahr;
} 其实可以在VB. MSDN 里都有该方法的实例
页:
[1]