b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

黄历算法_万年历算法_农历万年历算法(20)

电脑杂谈  发布时间:2017-01-16 03:03:28  来源:网络整理

void display2();

int main();

三、主要流程图

四、运行及调试结果

1、 各步运行结果截图与说明

计算日期减天数

输入当前日期,输入要减去的天数,即可显示得到的新的日期。 计算日期加天数

输入当前日期,输入要加上的天数,即可显示得到的新的日期。 计算两日期相差的天数

分别输入两个日期,按回车键,即可显示两日期相差的天数。 显示月历

输入要显示的月历的年份和月份,按回车键,即可显示该年该月的月历。

显示年历

输入要显示的年历的年份,按回车键,即可显示该年的年历。

2、 调试及解决问题

五、小结及感悟

六、源程序

# include

# include

# include

# include

using namespace std;

namespace{

constint DAYS_BEFORE_MONTH[]=

{0,31,59,90,120,151,181,212,243,273,304,334};//存储平年中的某个月1日之前有多少天。

}

void menu(){

cout

cout

cout

cout

cout

cout

cout

}

voidgoback()

{

getchar();

cout

cout

getchar();

system("cls");

menu();

}

class Date{

public:

Date(){};//无参的构造函数

Date(intnewyear,intnewmonth,intnewday):

year(newyear),month(newmonth),day(newday){}

Date operator+(int days);

Date operator-(int days);

int operator-(Date &c);

voiddisplayMonth();

voiddisplayYear();

void display()

{cout

intyear,month,day;

int leap(int year0);

intdton();

};

int Date::leap(int year0){

if((year0%4==0&&year0%100!=0)||year0%400==0)

return 1;

else return 0;

}

int Date::dton(){

int days;

int years=year-1;

days=years*365+years/4-years/100+years/400+DAYS_BEFORE_MONTH[month-1]+day;

if(leap(year)==1&&month>2)days++;//考虑闰年时,若月份大于2,都加一天。

return days;

}

Date Date::operator+(int days){

while(days!=0){

day++;

if((month==1||month==3||month==5||month==7||month==8||month

==10||month==12)&&days>31){

}

Date r;

r.year=year;

r.month=month;

r.day=day;

return r; } else if(month==2&&leap(year)==1&&day>29){ } else if(month==2&&leap(year)==0&&day>28){ } else if(day>30){ } if(month>12){ } days--; year+=1; month=1; month+=1; day=1; month+=1; day=1; month+=1; day=1; month+=1; day=1;


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-26593-20.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...