c++程序:定义一个日期类Date,包括年、月、日三个数据成员,以及一个求第二天日期的成员函数 10

 我来答
zhu603809832
推荐于2017-12-16 · TA获得超过162个赞
知道小有建树答主
回答量:77
采纳率:0%
帮助的人:60.2万
展开全部
#include <iostream>
using namespace std;
class Date//默认一个月是30天
{
public:
Date(int x=2011,int y=1,int z=8):year(x),month(y),day(z)
{
cout<<"初始化日期是:"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
}
~Date(){}
void NextDate()
{
day++;
if (day>30)
{
day=day-30;
month++;
}
if (month>12)
{
month=month-12;
year++;
}
cout<<"the next date is "<<year<<" 年"<<month<<" 月"<<day<<" 日"<<endl;
}

private:
int year;
int month;
int day;

};
int main()
{
Date date1;
Date date2(2011,12,30);
date1.NextDate();
date2.NextDate();
return 0;
}
使用的编译环境是vc6.0,你可以试试的 往后的知识内容你可以试试操作符号的重载,也很方便的
未来宇宙之星
推荐于2018-08-29 · TA获得超过1.6万个赞
知道大有可为答主
回答量:2000
采纳率:66%
帮助的人:2394万
展开全部
#include <iostream.h>
class Date
{
private:
int year,month,day;
public:
Date(int y, int m, int d)
{
year=y;
month=m;
day=d;
}
void nextday();
void display()
{
cout<<year<<"/"<<month<<"/"<<day<<endl;
}
};
void Date::nextday()
{
int totaldays[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};day++;int leap=(year%400==0||year%4==0&&year%100!=0);
if(day>totaldays[leap][month-1])
{
day=1;
month++;
if(month>12)
{
month=1;
year++;
}
}
}
void main()
{
int d,m,y;
cout<<"请输入年、月、日:\n";
cin>>y>>m>>d;
Date d1(y,m,d);
cout<<"今天是:";
d1.display();
d1.nextday();
cout<<"明天是:";
d1.display();
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风帆113
2011-01-08 · TA获得超过420个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:96万
展开全部
正在复习模拟电路,复习的蛋疼,逛逛百度知道,嘿!看到个感兴趣的问题,甩开模电写写代码...写的不是很健壮.........

class Date{
private:
int year;
int month;
int day;
public:
String nextDayDate(){
this.day++;
if(month==2){
if (this.year % 400 == 0 || (this.year % 4 == 0 &&this. year % 100 != 0)) {
// 闰年二月有29天,平年28天
if(this.day>29){
this.day = 1;
this.month++;
if(this.month>12)
this.year++;
}
} else {
if(this.day>28){
this.day = 1;
this.month++;
if(this.month>12)
this.year++;
}
}else if (month == 4 || month == 6 || month == 9 || month == 11){//4,6,9,11月,有30天
if(this.day>30)
this.month++;
if(this.month>12)
this.year++;

}
else{//1,3,5,7,8,10,12月,有31天
if(this.day>31)
this.month++;
if(this.month>12)
this.year++;

}
return this.year+"年"+month+"月"+day+"日";
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾啸
2011-01-08 · 超过12用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:28.1万
展开全部
使用mfc 中的CDateTime,或COleDateTime。各种求法都有,还有源码。非常智能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式