定义一个满足如下要求的Date类:
(1)用日/月/年的格式输出日期;
(2)可运行在日期上加一天的操作;
(3)设置日期操作。
下面是我的程序,可能有不完善之处,望指正,谢谢合作!!
#include
#include
using namespace std;
class Date{
int year,month,day;
public :
void dateup();
};
void Date::dateup(){
int y,m,d,y1,m1,d1;
//定义y,m,d是当前出入的日期
//定义y1,m1,d1是指加一天后的日期
cout<<"请输入年份";
cin>>y;
cout<<"请输入月份";
cin>>m;
while ((m>12) || (m<1)){
cout<<"您输入的月份有误,请重新输入!"<<'\n';
cin>>m;}
cout<<"请输入天";
cin>>d;
switch (m)
{case 1:
case 3:
case 5:
case 7:
case 8:
case 10:{
while (d>31){
cout< cin>>d;
}
if(d==31) {y1=y;m1=m+1;d1=1;}
else
{d1=d+1;
m1=m;
y1=y;}
};break;
case 4:
case 6:
case 9:
case 11:{
while (d>30){
cout< cin>>d;
}
if(d==30)
{y1=y;m1=m+1;d1=1;}
else
{d1=d+1;
m1=m;
y1=y;}
};break;
case 2:{
if ((y%4==0 && y%100!=0) || (y%400==0))
//如果所输入的年份为闰年,则29天进位,否则28天进位!!
{
while (d>29){
cout< cin>>d;
}
if (d==29){y1=y;m1=m+1;d1=1;}
else {d1=d+1;y1=y;m1=m;}
}
else {
while (d>28){
cout< cin>>d;
}
if (d==28){m1=m+1;d1=1;y1=y;}
else if(d<28) {d1=d+1;m1=m;y1=y;}}
};break;
case 12:{
while (d>31){
cout< cin>>d;
}
if(d==31){y1=y+1;m1=1;d1=1;}
else {d1=d+1;m1=m;y1=y;}
};break;
}
cout<<"输入的日期是:"< cout<<"加一天后的日期是:"< }
int main()
{Date d;
d.dateup();
}
可以应对一般的错误事件,比如闰年的2月份或者12月的31号!!
|
文件: | cdate.tar.gz |
大小: | 0KB |
下载: | 下载 |
|
阅读(1674) | 评论(2) | 转发(0) |