c++万年历设计
下面给大家看一下小编自己设计的c++万年历
千万别忘了给赏
#include <iostream>
using namespace std;
class RL //日历类
{
public:
void Pri(); //打印函数
void Js(); //日历计算函数
void Sca(); //输出函数
private:
int year;
int mon;
int days;
int week;
};
void RL::Sca()
{
int y=1,m=1;
while(m==1&&y==1) //检测输入是否符合要求
{
cout<<"\n输入1920年以后的年和月,格式按 年 月"<<endl;
cin>>year>>mon;
if(year>=1920&&mon>=1&&mon<=12)
{m=0;y=0;}
}
}
void RL::Js()
{
int yer=0,mo=0,das=0,i=0,d=0;
int day_tab[12]={31,28,31,30,31,30,31,31,30,31,30,31};
yer=year-1920;
mo=mon-1;
// days=0;
week=0;
for(i=0;i<mo;i++)
{
das=das+day_tab[i];
}
if(mo>=2&&((year%4==0&&year%100!=0)||year%400==0)) //这里的括号一定要到位,在这里就是
//因为括号的问题,调了有段时间
das+=1; //判断year是否为闰年,2月要加一天
for(i=1920;i<=year;i++) //计算1920年到year之间有多少个闰年
{
if((i%4==0&&i%100!=0)||i%400==0)
d++;
}
days=yer*365+das+d; //计算year month 到1920 1 1之间的天数
week=(days%7+4)%7; /