C++日期类编程题

写一个日期类Date,具有如下功能:1.具有年月日时分秒等基本数据。2.能使用如下方式进行初始化或声明:a)Dated1(2008,1,14)b)DateD2(2008,... 写一个日期类Date,具有如下功能:
1. 具有年月日时分秒等基本数据。
2. 能使用如下方式进行初始化或声明:
a) Date d1(2008,1,14)
b) Date D2(2008,1,14,13,)//2008年1月14日13:00:00
c) Date D3(2008,1,14,13,5) //2008年1月14日13:05:00
d) Date D4(2008,1,14,13,5,7) //2008年1月14日13:05:07
e) Date D5(“2008-1-14 13:5:7”)/年月日之间用一个-号分隔,时间部分用:号分隔,日期与时间之间有一个空格。
3. 能判断是否是闰年
4. 能获取年、月、日、时、分、秒。
5. 能计算一个日期加上若干年,有AddYear(int n)这样的成员函数,对月、日、时、分、秒,也有类似的函数
6. 具有输入、输出流,输入的格式为年、月、日、时、分、秒用空白字符间隔分别输入,输出的格式采用24小时制,如“2008-01-14 13:05:07”
7. 提供日期对象之间的关系运算符的重载,能进行==,!=,<,>,<=,>=等运算符的比较
展开
 我来答
无尽的华尔兹Cluw3
2010-01-15 · TA获得超过157个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:0
展开全部
#include <iostream>
#include <stdio.h>
#include <time.h>
#include "12.h"
using namespace std;

int main(){

myfun myclas;
struct tm *local;
time_t t = time(NULL);
local=gmtime(&t);
cout<<"当前系统时间:"<<1900+local->tm_year<<"年"<<1+local->tm_mon<<"月"<<local->tm_mday<<"日"<<endl;

int year=1900+local->tm_year;
int month=1+local->tm_mon;
int day=local->tm_mday;
int mon[]={31,28,31,30,31,30,31,31,30,31,30,31};
int a=year-myclas.year;
int i=0;
int j=0;
int mon1=0;
int mon2=0;
for (i=0;i<myclas.month;i++)
{
int mon1=mon1+mon[i];
}
for (i=0;i<month;i++)
{
int mon2=mon2+mon[i];
}
int monday=mon1-mon2;
int c=myclas.day-day;

if (month-myclas.month<0)
a=a-1;

if ((year/100)||(year/4)&&(year/400))
{
cout<<"是闰年";

cout<<"输入的年份与本地时间的间隔是:"<<a*366+c<<"天"<<endl;

}
else
{
cout<<"不是闰年";
cout<<"输入年份与本地年份间隔是:"<<a*365+c<<"天"<<endl;
}

return 0;
}

这是头文件:12.h

#ifndef time_h
#define time_h
class myfun
{

public:
int day,month,year;
myfun(){
std::cout<<"year:";
std::cin>>year;
std::cout<<std::endl;
std::cout<<"month:";
std::cin>>month;
std::cout<<std::endl;
std::cout<<"day:";
std::cin>>day;
std::cout<<std::endl;

}

};
#endif
慢慢看,我写的,写完放在电脑找了很久,找到了,这个程序考虑了几种情况,日期是可以手动输入的,判断输入的是不是闰年,然后计算输入的日期跟系统本身的日期相差多少天。至于你要的时分秒,你仔细看time的头文件的源代码,我这里是给你参考的,还有其他细节,你应该可以解决,你不是想我给做好的你吧,那你什么都学不到的也。。输出的方面可以按你的喜好改。算是给你提示了。
gaogaf
2010-01-15 · TA获得超过1289个赞
知道小有建树答主
回答量:610
采纳率:0%
帮助的人:366万
展开全部
1、定义对应的私有数据成员
2、分别定义不同的构造函数
3、加入一个公有成员方法,对数据成员进行闰年判定,判定前先作成员检查
4、定义公有方法,分别返回对应的数据成员
5、分别加入对应的公有成员函数,根据传入参数对私有数据成员进行修正
6、分别定义对应的公有方法,可定义指定格式
7、分别重载操作符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式