求关于C++日期类和时间类的编程
1.设计一个名为Date的日期类,完成基本的日期输入输出处理功能2.扩充上述的类,为Date类增加一个成员函数,可以判断一个日期是否是系统的当前日期,从键盘输入自己的生日...
1.设计一个名为Date的日期类,完成基本的日期输入输出处理功能
2.扩充上述的类,为Date类增加一个成员函数,可以判断一个日期是否是系统的当前日期,从键盘输入自己的生日,如果今天是自己的生日则显示“生日快乐!”,如果不是则显示“还有XX天才是你的生日”或者“你的生日已经过去了XX天,明年的生日还要等XX天”
3.仿照Date类设计一个Time类,设计多个重载的构造函数,可以设置时间,进行时间的加减运算,按各种可能的格式输出时间
=======
求能够满足上述要求的程序啊!谢谢!! 展开
2.扩充上述的类,为Date类增加一个成员函数,可以判断一个日期是否是系统的当前日期,从键盘输入自己的生日,如果今天是自己的生日则显示“生日快乐!”,如果不是则显示“还有XX天才是你的生日”或者“你的生日已经过去了XX天,明年的生日还要等XX天”
3.仿照Date类设计一个Time类,设计多个重载的构造函数,可以设置时间,进行时间的加减运算,按各种可能的格式输出时间
=======
求能够满足上述要求的程序啊!谢谢!! 展开
展开全部
#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的头文件的源代码,我这里是给你参考的,还有其他细节,你应该可以解决,你不是想我给做好的你吧,那你什么都学不到的也。。输出的方面可以按你的喜好改。算是给你提示了
#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的头文件的源代码,我这里是给你参考的,还有其他细节,你应该可以解决,你不是想我给做好的你吧,那你什么都学不到的也。。输出的方面可以按你的喜好改。算是给你提示了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为是自己亲手写的,不便在这里公开,你可以给我邮箱,我发给你
追问
已发送短消息给你了~
追答
已发送,请查收,我是整个文件夹打包的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同求 465083928@qq.com 发一下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询