65,211
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
using namespace std;
const char *name[] = { "monday",//////定义一个数组,用于显示星期几
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
};
class Date{
public:
void init(int,int,int);
void weekDay();
void print();
private:
int y;
int m;
int d;
int week;
};
void Date::init(int year,int month,int day) ///////初始化年月日
{
y=year;
m=month;
d=day;
weekDay();//////根据初始化的年月日计算星期几
};
void Date::weekDay() ///////////计算星期的实现
{
if ((m == 1) || (m == 2)){
m += 12;
y--;
}
week = (d + 2*m + 3*(m+1)/5 + y + y/4 - y/100 + y/400) % 7;
}
void Date::print() ///////////////打印
{
cout <<y <<"年" <<m <<"月" <<d <<"日" <<endl;
cout <<"今天是星期" <<name[week] <<endl;
};
int main()
{
Date d; ///////////定义类对象
d.init(2009,5,12); ////////////初始化
d.print(); ////////////打印
return 0;
}
#include <iostream>
#include <string>
using namespace std;
class Date{
public:
Date():y(0),m(0),d(0),week(0){};
Date(int year,int month,int day);
void print();
private:
void weekDay(void);
int y;
int m;
int d;
int week;
};
Date::Date(int year,int month,int day) // 建立构造函数,舍弃init
{
y=year;
m=month;
d=day;
weekDay(); //计算week
};
void Date::weekDay() // 不保证正确性,正确性由你自己完成
{
int v;
v=y%100;
if(m==1) {m=13;y=y-1;}
else
if(m==2) {m=14;y=y-1;}
week=(26*(m+1)/10+y+y/4-2*y/100+y/400+d-1)%7;
}
void Date::print()
{
cout <<y <<"年" <<m <<"月" <<d <<"日" <<endl;
cout <<"今天是星期" <<week <<endl;
};
int main()
{
Date d(2009,5,12); //初始化用构造完成,计算星期天由内部完成
d.print();
system("pause");
return 0;
}
[code=C/C++]
class Date{
public:
void init(int,int,int);
void weekDay(); //这里不需要Date d形参
void print();
private:
int y;
int m;
int d;
int week;
};
void Date::init(int year,int month,int day)
{
y=year;
m=month;
d=day;
};
void Date::weekDay()
{
y=y%100;
if(m==1) {m=13;y=y-1;}
else
if(m==2) {m=14;y=y-1;}
week=(26*(m+1)/10+y+y/4-2*y/100+y/400+d-1)%7;
}
void Date::print()
{
cout <<y <<"年" <<m <<"月" <<d <<"日" <<endl;
cout <<"今天是星期" <<week <<endl;
};
int main()
{
Date d;
d.init(2009,5,12);
d.print();
return 0;
}
void Date::weekDay(Date date)
{
int y = date.y,m=date.m;d=date.d;
y=y%100;
if(m==1) {m=13;y=y-1;}
else
if(m==2) {m=14;y=y-1;}
week=(26*(m+1)/10+y+y/4-2*y/100+y/400+d-1)%7;
}
#include <iostream>
using namespace std;
class date
{
public:
void init(int,int,int);
void weekday(); //Date d参数无用;
void print();
private:
int y;
int m;
int d;
int week;
};
void date::init(int year,int month,int day)
{
y=year;
m=month;
d=day;
}
void date::weekday() //Date d一样;
{
y=y%100;
if(m==1) {m=13;y=y-1;}
else if
(m==2) {m=14;y=y-1;}
week=(26*(m+1)/10+y+y/4-2*y/100+y/400+d-1)%7;
}
void date::print()
{
cout <<y <<"年" <<m <<"月" <<d <<"日" <<endl;
cout <<"今天是星期" <<week <<endl;
}
int main()
{
date d;
d.init(2009,5,12);
d.weekday();
d.print();
return 0;
}