银行存款有3个月、6个月定期等。从键盘输入一个日期(即为存款日期)以及定期的时间长度(单位为月,输入的时间长度可为小于等于60的任意正整数),请编程输出该定期存款的到期日期。 下面以3个月定期为例,说明定期的概念。
c++
#include <bits/stdc++.h>
using namespace std;
int dayNumOfMonth(int y,int m);
int main()
{
int y,m,d,time;
cin>>y>>m>>d>>time;
int temp=m+time;
while(temp>12){
y++;
temp-=12;
}
int maxDay=dayNumOfMonth(y,temp);
if(d<=maxDay){
printf("%d%s%d%s%d",y," ",temp," ",d);
}else{
printf("%d%s%d%s%d",y," ",temp," ",maxDay);
}
return 0;
}
int dayNumOfMonth(int y,int m){
switch(m){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 2:
if(y%4==0&&y%100!=0||y%400==0){
return 29;
}else{
return 28;
}
case 4:
case 6:
case 9:
case 11:
return 30;
}
}