输入一个日期,计算前一天的日期
2012-11-03 17:01
477 查看
#include<iostream> #include<string> using namespace std; class date //定义Date类 { private: int day; int month; int year; public: date(); //无参构造函数 date(int,int,int); //有参构造函数 void prevdate(); //prevdate函数用于计算上前一天的日期 void setdate(int,int,int); //setdate函数用于设定Date类对象成员的值 }; date::date(int year,int month,int day) //有参构造函数 { this->year=year; this->month=month; this->day=day; } void date::setdate(int year,int month,int day) //setdate函数 { this->year=year; this->month=month; this->day=day; } void date::prevdate() //prevdate函数,计算前一天日期 { int prevday; int prevmonth; int prevyear; if(day==1) { switch (month) //当日期为1时 判断各个月份的情况 { case 2:case 4:case 6:case 8:case 9:case 11: prevday=31; prevmonth=month-1; prevyear=year; break; case 5:case 7:case 10:case 12: prevday=30; prevmonth=month-1; prevyear=year; break; case 3: if(((year%4==0)&&(year%100!=0))||(year%400==0)) { prevday=29; prevmonth=2; prevyear=year; } else { prevday=28; prevmonth=2; prevyear=year; } break; case 1: prevday=31; prevmonth=12; prevyear=year-1; break; } } else { prevday=day-1; prevmonth=month; prevyear=year; } cout<<"The prevdate is "<<prevyear<<" "<<prevmonth<<" "<<prevday<<endl; } int main() { int year,month,day; while(cin>>year>>month>>day) //输入数据 { if(year<0)//判断非法日期输入 { cout<<"Date error!Please input again!"<<endl; continue; } else { switch (month) { case 1:case 3:case 5:case 7:case 8:case 10: case 12: if(day<1||day>31) { cout<<"Date error!Please input again!"<<endl; continue; } break; case 4:case 6:case 9:case 11: if(day<1||day>30) { cout<<"Date error!Please input again!"<<endl; continue; } break; case 2: if((year%4==0&&year%100!=0)||year%400==0) { if(day<1||day>29) { cout<<"Date error!Please input again!"<<endl; continue; } } else { if(day<1||day>28) { cout<<"Date error!Please input again!"<<endl; continue; } } break; default: cout<<"Date error!Please input again!"<<endl; continue; break; } } date Date(year,month,day); Date.prevdate(); } }
相关文章推荐
- C#8—写一个测试标准身高体重的程序、输入日期年月日, 计算这一天是一年中的第几天(考虑闰年)
- C语言 从键盘输入一个日期计算该日期是该年的第几天
- //输入一个日期计算并输出这天是今年的第几天
- 黑马程序员 测试题:编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- js计算输入日期的前一天,后一天(上一日,下一日)。兼容safari
- 用户输入一个日期计算是星期几以及是一年中的第几天
- 用户输入一个日期,计算时星期几,并计算时一年中的某一天,使用自定义方法判断
- 输入一个日期,判断这个日期在一年中是哪一天,是星期几,计算两个日期间的天数,使用字符串输出日期
- C/C++练习题 定义一个日期变量,进行年、月、日的输入,计算该日期是本年中的第几天。
- 用C语言来实现_输入一个日期(年月日),计算是这一年中的第几天(集思广议)
- 计算特定日期的前一天和后一天,根据输入的月,日获取该月日属于什么季节
- 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天
- 黑马程序员—编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, *程序计算这一天是星期几,并且计算出是一年中的第几天。 */
- 设计一个程序输入两个日期计算相隔多少天,或计算一个日期加上间隔后的日期。
- 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天
- 输入一个日期,计算与所设定日期之间的天数,输出这个日期是星期几
- 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天(java)
- 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- 用C语言来实现_输入一个日期(年月日),计算是这一年中的第几天
- 定义一个结构体类型表示日期(年、月、日)。main中输入一个日期,计算该日期是当年的第几天。